加载 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;
记住一个有效的 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);
我正在尝试加载我将用作常量文件的 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;
记住一个有效的 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);