将JSON文件加载到javascript

时间:2015-10-09 08:20:05

标签: javascript jquery json

 var myJSON ;
$.getJSON("../json.json",function(data){
    myJSON =data;
});

我尝试使用jquery使用$ .getJSON(),但它返回的数据始终为null。我不懂为什么。 JSON文件的路径是正确的。

2 个答案:

答案 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参数asyncfalse

同时检查您的JSON是否有效。有一点不同,你如何在JavaScript中定义数组和对象以及什么是正确的JSON 例如[1,2,3,]应为[1,2,3]{one:1}应为{"one":1}