在ajax请求之后,Jquery在数据上丢失了括号

时间:2014-10-06 14:37:35

标签: javascript jquery ajax json square-bracket

我有一个这样的数据文本文件:

[[1412525998000,"91.83"],[1412525998000,"91.83"],[1412525997000,"90.14"]...ETC

当我通过ajax请求得到这些数据时,会发生一些奇怪的事情。 'data'变量变为:

1412525998000,91.831412525998000,91.831412525997000,90.14...ETC

出于某种原因,它只是转储所有方括号。

这是我的ajax电话:

$.ajax({
    url: "mydata.php",
    data: {},
    success: function(data) { 
        $('#debug_div').html(data);
    },
    dataType: "json"
});

我从未见过类似的东西,所以我想知道是什么导致这种情况?

1 个答案:

答案 0 :(得分:1)

您正在指定类型json,因此jQuery会自动解析响应JSON,并将结果数组提供为data。然后将它传递给.html(),它将数组作为字符串转换,从而产生您看到的输出。

演示:

document.write( [1, 2, 3] );

输出

1, 2, 3

你的阵列完好无损,只有当你把它作为一个字符串投射,你才能看到你的结果。例如:

console.log(data[0][0]); // 1412525998000
console.log(data[0][1]); // 91.83

请参阅Array.prototype.toString()