为什么jQuery AJAX。返回值未定义?

时间:2017-02-08 16:34:53

标签: javascript php jquery json ajax

当我执行一个&#34;警告&#34;的功能时,会发生一件奇怪的事情。来自json的数据。如果我指定TIME_WITH_TIME_ZONE,那么&#34;警告&#34;返回&#34;未定义&#34;,但如果我只是放 <%String a= request.getParameter("Test"); System.out.println(a);%> <form > <input type="text" name="Test" value= "Whatever" > </form> ,它会返回alert(data.name);

这样的对象

这是接收要在数据库中搜索的ID的函数

alert(data);

这是userGrid.php

{"id":"1","name":"Erluan"}

谢谢。

2 个答案:

答案 0 :(得分:0)

Returning JSON from a PHP Script

您的php脚本需要正确的标题:

header('Content-Type: application/json');

似乎JQuery正在将结果作为字符串{&#34; id&#34;:&#34; 1&#34;,&#34; name&#34;:&#34; Erluan&#34;}通过使用正确的标题,它应该被解析为JSON。

答案 1 :(得分:0)

您是否尝试过评估ajax响应? 如果没有,则尝试调用eval函数,然后获取值。

 success: function(data, string, jqXHR){
               var res = eval('(' + data+ ')');
                alert(res.name);
           }