日期:2014-05-17  浏览次数:20420 次

PHP+AJAX+JQUERY+JSON返回JSON值是UNDEFINE
index.php ajax部分

<script type="text/javascript"> 

  $(document).ready(function() 

  { 

  $("#submit_btn").click(function()

  {

  //alert();

  var params=$('#commentform input,textarea').serialize(); //序列化表单的值 

  //alert(params);

  $.ajax({ 

  url:'ajax.php', //后台处理程序 

  type:'get', //数据发送方式 

  dataType:'text', //接受数据格式 

  data:params, //要传递的数据 

   

  success:update_page //回传函数(这里是函数名) 

  }); 

  });

   

  }); 

  function update_page (json) 

  {   

  //var json='';

  var json=eval("("+json+")");

  alert(json.name);

  var ta="<table border=1 width=38% align=center id=ta><th>用户名称</th><th>用户邮箱</th><th>用户信息</th>";

   

   

  ta+="<tr><td>"+json.name+"</td>";

  ta+="<td>"+json.email+"</td>";

  ta+="<td>"+json.message+"</td>";

   

  ta+="</table>";

  //document.getElementById("res").innerHTML=ta; 

   

  $("#res").html(ta);

   

  //alert(json.name);

  }

   

   

  </script> 

后台ajax.php

<?php  

header("cache-control:no-cache,must-revalidate"); 

  header('Content-Type: text/html; charset=gb2312'); 

  $name=$_GET["name"];

  $email=$_GET["email"];

  $date=date( "Y-m-d H:i:s ");

  $message=$_GET["message"];

  $link=mysql_connect("localhost","root",""); 

  mysql_query("set names 'gbk'"); 

  mysql_select_db("liuyan");

  $exec="insert into liuyan (name,email,message,date) values ('$name','$email','$message','$date')"; 

  $a=array('name'=>$name,'email'=>$email,'message'=>$message,'date'=>$date);

  echo json_encode($a);

  mysql_close(); 

?>
get传值没问题后台数据一直没添加到数据库里面求大神们帮下忙

------解决方案--------------------
var json=eval("("+json+")");

 这不对啊,直接:

var json = eval(json);就行了啊,json就是一个对象了。