我在这里撞墙,我希望有人可以帮助我。
我有一个调用PHP页面的AJAX函数。该页面返回一个JSON对象,然后应该对其进行解析并显示给用户。一切正常,除非返回JSON对象,尝试解析它会给出undefined。
PHP:
$jsonArray= array(
'request' => 'this is the request',
'response' => 'this is the response'
);
echo json_encode($jsonArray);
在Ajax方面,我执行以下操作:
var display=xmlHttp.responseText;
alert(display); //gives {"request":"this is the request","response":"This is the response"}
alert(display.request); //gives undefined
我错过了一些明显的东西吗?将相同的字符串直接粘贴到JavaScript变量中似乎工作得很好......
答案 0 :(得分:2)
您需要解析json字符串。 JSON.parse应该做的伎俩。如果它不起作用,可能会对您编码的对象产生疑问。
答案 1 :(得分:1)
您需要解析从服务器返回的JSON数据。有许多库可以执行此操作,例如:
答案 2 :(得分:1)
var myObject = eval('(' + display + ')');
答案 3 :(得分:0)
display
是一个字符串。你需要使用
var obj = eval(display)
但是eval()不像使用JSON.parse()那样安全。