var myJSON ;
$.getJSON("../json.json",function(data){
myJSON =data;
});
我尝试使用jquery使用$ .getJSON(),但它返回的数据始终为null。我不懂为什么。 JSON文件的路径是正确的。
答案 0 :(得分:1)
如果路径正确,此代码应该有效...但是,如果您在回调函数之外声明myJSON,则可能在调用回调函数之前尝试在外部使用它:
var myJSON; // why are you declaring that here?
$.getJSON("../json.json",function(data){
myJSON =data;
console.log('Within the callback function: '+myJSON);
});
console.log('Outside the callback function: '+myJSON) // this is ALWAYS null
答案 1 :(得分:-1)
您提出请求后,JSON数据无法立即使用
$.getJSON
在数据下载之前返回,并在完成时调用提供的回调。
你需要做
$.getJSON("../json.json",function(myJSON){
// do something with myJSON
});
如果您确实需要同步请求,请使用$.ajax
参数async
至false
。
同时检查您的JSON是否有效。有一点不同,你如何在JavaScript中定义数组和对象以及什么是正确的JSON
例如[1,2,3,]
应为[1,2,3]
,{one:1}
应为{"one":1}
。