我的服务器端代码: 返回一个数组:
return array('success'=>true, 'client_id' => $_GET['id']);
然后回声
echo htmlspecialchars(json_encode($result), ENT_NOQUOTES);
输出时JSON看起来像这样;
{"success":true,"client_id":"db7A8"}
但是当我跑步时
onComplete: function(id, fileName, responseJSON){
var newBucket = $.parseJSON(responseJSON);
alert(newBucket.client_id);
}
它说它是空的(它是AJAX upload的函数),不知道这里有什么问题吗?
答案 0 :(得分:0)
从php返回JSON数据时是否指定了正确的ContentType标头? IE和Chrome不喜欢在错误的ContentType标头下接收JSON。
如果这不能解决您的问题,请尝试使用此http://code.google.com/p/jquery-json/
var encoded = $.toJSON(responseJSON);
var newBucket = $.evalJSON(encoded);
alert(newBucket.client_id);
编辑:上面的代码使用提到的jquery插件在解析之前序列化responseJSON。如果您不想使用该jquery插件,可以使用其他替代方法来执行相同的操作。