【发布时间】:2012-08-26 07:04:21
【问题描述】:
我从 AJAX 调用返回一个 JSON 对象并记录如下结果:
console.log(response);
这是控制台中记录的响应:
{"filename":"new.jpg","orientation":"vertical"}
但是,当我
console.log(response.orientation);
我得到一个未定义的响应。
我读过的大多数答案都表明返回了一个数组而不是一个对象,并且 response[0].orientation 应该可以工作,但这里的情况并非如此。当我将相同的数组分配给控制台中的另一个变量时:
var obj = {"filename":"new.jpg","orientation":"vertical"}
那么 obj.orientation 返回正确的值。
我正在 PHP 中创建 JSON 对象:
$response=array('filename' => $newfilename, 'orientation' => $orientation);
$response=json_encode($response);
echo $response;
属性显示未定义的原因是否明显?
【问题讨论】:
-
如果您的响应是一个字符串,您必须先将其传递给
JSON.parse,然后才能访问属性。还有,there's no such thing as a JSON object -
你能把你的代码发布给你如何发送ajax请求和成功函数
标签: php javascript ajax json undefined