JSON说它是空的?

时间:2011-09-22 17:42:22

标签: jquery json

我的服务器端代码: 返回一个数组:

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的函数),不知道这里有什么问题吗?

1 个答案:

答案 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插件,可以使用其他替代方法来执行相同的操作。