我在下面的脚本的最后部分,我正在尝试使用Ajax回调函数将JSON文件放入网站。当我检查页面时,我发现JSON文件格式不正确,我似乎无法找到答案。该网页也显示JSON文件是“未定义的”。建议赞赏!
function debugCallback(response){
var mydata;
$("#mydiv").append('GeoJSON data: ' + JSON.stringify(mydata));
};
function debugAjax(){
var mydata;
$.ajax("data/MegaCities.GeoJSON", {
dataType: "json",
success: function(response){
//mydata = response;
debugCallback(mydata);
}
});
$("#mydiv").append('<br>GeoJSON data:<br>' + JSON.stringify(mydata));
};
//$("#mydiv").append('GeoJSON data: ' + JSON.stringify(mydata));
if(typeof mydata === 'undefined') {
console.log("undefined data")
} else {
console.log("not undefined")
}
$(document).ready(debugAjax());
答案 0 :(得分:0)
避免定义几个函数并尝试使用它:
$(document).ready(function(){
$.ajax("data/MegaCities.GeoJSON", {
dataType: "json",
success: function(response){
$("#mydiv").append('<br>GeoJSON data:<br>' + JSON.stringify(response));
}
});
});
请注意,在我们从ajax调用获取响应/数据后,我们将格式化为JSON。
答案 1 :(得分:0)
您正在使用var mydata
并且未定义,因此当您将其作为值传递时,它会显示正确的消息undefined
。
你应该像这样修改你的代码。
$(document).ready(function(){
$.ajax({
url: "data/MegaCities.GeoJSON",
method: 'GET' ,
aysnc: false,
success: function(response){
$("#mydiv").append('GeoJSON data:' +response);
}
});
});