Javascript 使用ajax导入数组
我在一个名为synergy_data.json的文件中有一个非常简单的2D数组:Javascript 使用ajax导入数组,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在一个名为synergy_data.json的文件中有一个非常简单的2D数组: [ ['2014-08-19', 2956], ['2014-07-19', 2038], ['2014-06-19', 1285], ['2014-05-19', 1383], ['2014-04-19', 1256], ['2014-03-19', 822], ['2014-02-19', 644], ['2014-01-19', 504], ['2013-12-19', 438], ] 我尝
[
['2014-08-19', 2956],
['2014-07-19', 2038],
['2014-06-19', 1285],
['2014-05-19', 1383],
['2014-04-19', 1256],
['2014-03-19', 822],
['2014-02-19', 644],
['2014-01-19', 504],
['2013-12-19', 438],
]
我尝试使用ajax调用这些数据:
data=[]
$.ajax({
url: "/marquee/synergy_data.json",
async: false,
success: function(resultData) {
data = resultData;
}
});
console.log(data)
但控制台只会发出“[]”
我做错了什么
***解决方案
非常感谢@Quentin帮我解决了这个问题。我的JSON有两个致命的缺陷:1)我使用了单引号,2)我多了一个逗号。将来我一定会使用JSONLint检查我的阵列!(我还删除了“async:false”作为衡量标准。)您的JSON无效。成功函数不会启动。未定义错误函数。最后访问最初分配给
数据的数组,而不是JSON中的数组
JSON中的字符串必须使用“
字符引用。”
是不可接受的
逗号用于分隔数组中的项,而不是终止它们。请删除尾随的逗号。不要使用async:false
,在回调中执行逻辑,或者只是返回一个延迟的jQuery并稍后处理回调。哎哟。应该已经看到了。+1.p.s.,json文件中的换行符是否100%可以?json中的换行符是fin只要他们不在琴弦中间。嘿,昆廷,谢谢你的回答,但是我试过了,但没有用。我试着用撇号、双引号、没有引号,用数字代替日期。但是仍然不行。(但我以后会引用引号。)您遇到了另一个验证错误。您可能应该停止手工编写JSON,或者至少使用JSON Lint之类的工具。