格式错误的 JSON 响应

Malformed JSON response

我收到来自 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() 得到了完全相同的结果。

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

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

getJSON 自动将 JSON.parse(..) 应用于接收到的数据。

尝试使用 Google Chrome 上的 'network' 侦听器选项卡,在解析之前准确查看您收到的响应。可能缺少 " 或类似的东西。

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

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