格式错误的JSON响应

时间:2016-02-10 03:55:02

标签: javascript jquery json getjson

我从AJAX $ .getJSON()请求中收到格式错误的 JSON响应。我不明白这个问题。

以下是请求代码:

var myfunc = function(){
    $.getJSON( "/", {"data": ""}, function( data, status ){
        var values = data;

        $("#temperature").html( values.temperature.toFixed(1).toString() );
        $("#humidity").html( values.humidity.toFixed(0).toString() );
    });
});

这里是收到的JSON数据(通过Firefox调试器提取):

{
    "temperature": 17.799999237060547,
    "humidity": 35.900001525878906,
    "failed": false
}

我无法在这里看到格式错误的。并且代码有效。 DOM元素id="temperature"id="humidity"已正确更新。

我使用$.get()JSON.parse()获得完全相同的结果。

有人知道如何解决问题吗?

1 个答案:

答案 0 :(得分:4)

我的猜测是,您通过网络收到的json数据格式不正确,但无论如何都会成功转换为对象。

getJSON会自动对收到的数据应用JSON.parse(..)。

尝试使用Google Chrome上的“网络”监听器标签,以便在解析之前准确查看您收到的响应。可能会缺少“或类似的东西。

如果您有权访问服务器代码,也可以尝试在那里记录响应。

编辑: you might be interested by this link 可能与某些服务器配置有关 Mimetype也被提及in this link