加载 JSON 文件,错误未定义

Load JSON file, error undefined

我正在尝试加载我将用作常量文件的 JSON 文件,但我总是收到未定义的错误,有人可以帮忙吗?

代码如下:

function loadJsonFile(filePath){
 $.getJSON(filePath, function(Mydata) {
    alert(Mydata.length);
    return Mydata;
    })
error(function() { alert("error"); 
});

常量文件的结构是:

{
    "var1":"v1",
    "var2":"v2"
}

预先感谢您的帮助。

两件事: 1. 您是否缺少 JSON.parse() ?

Mydata = JSON.parse(Mydata); // we parse it here
alert(Mydata.length);
return Mydata;
  1. 记住一个有效的 json 对象必须在 comillas ("|') 之间。如果你这样做

    JSON.parse({ "var1":"v1", "var2":"v2" });

你会得到错误。正确的方法是:

JSON.parse('{ "var1":"v1", "var2":"v2" }');

为了调用 loadJsonFile 到 return 一个值,return 语句必须与 $.getJSON() 成功回调函数一起放置。失败处理程序中也存在一些语法错误,应该使用 .fail() 作为 .error() is deprecated.

function loadJsonFile(filePath) {
    var data = null;
    $.getJSON(filePath, function(Mydata) {
        alert(Mydata.length);
        data = Mydata;
    })
    .fail(function() {
        alert("error");
    });
    return data;
}
function loadJsonFile(filePath, callback){
       $.getJSON(filePath)
        .success(function(Mydata) {
              callback(data);
       })
       .fail(function() { alert("error")}); ;
});

function doStuff(data){
  alert(data.var1)
}

loadJsonFile('url', doStuff);