Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript GeoJson“;“格式不好”;消息,并且显示为未定义_Javascript_Json - Fatal编程技术网

Javascript GeoJson“;“格式不好”;消息,并且显示为未定义

Javascript GeoJson“;“格式不好”;消息,并且显示为未定义,javascript,json,Javascript,Json,我在下面介绍了我脚本的最后一部分,我试图使用Ajax回调函数将一个JSON文件放入一个网站。当我检查页面时,我发现JSON文件的格式不好,似乎找不到答案。该网页也只是显示JSON文件是“未定义的”。感谢您的建议 function debugCallback(response){ var mydata; $("#mydiv").append('GeoJSON data: ' + JSON.stringify(mydata)); }; function debugAjax()

我在下面介绍了我脚本的最后一部分,我试图使用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());
函数调试回调(响应){
var-mydata;
$(“#mydiv”).append('GeoJSON数据:'+JSON.stringify(mydata));
};
函数debugAjax(){
var-mydata;
$.ajax(“data/MegaCities.GeoJSON”{
数据类型:“json”,
成功:功能(响应){
//mydata=响应;
调试回调(mydata);
}
});
$(“#mydiv”).append('
GeoJSON数据:
'+JSON.stringify(mydata)); }; //$(“#mydiv”).append('GeoJSON数据:'+JSON.stringify(mydata)); 如果(mydata的类型===‘未定义’){ console.log(“未定义的数据”) }否则{ console.log(“未定义”) } $(document.ready(debugAjax());
避免定义多个函数,尝试仅使用以下函数:

$(document).ready(function(){
    $.ajax("data/MegaCities.GeoJSON", {
        dataType: "json",
        success: function(response){
            $("#mydiv").append('<br>GeoJSON data:<br>' + JSON.stringify(response));
        }
    });
});
$(文档).ready(函数(){
$.ajax(“data/MegaCities.GeoJSON”{
数据类型:“json”,
成功:功能(响应){
$(“#mydiv”).append('
GeoJSON数据:
'+JSON.stringify(响应)); } }); });

请注意,从ajax调用中获得响应/数据后,我们将以JSON格式进行格式化。

避免定义几个函数,并尝试使用以下方法:

$(document).ready(function(){
    $.ajax("data/MegaCities.GeoJSON", {
        dataType: "json",
        success: function(response){
            $("#mydiv").append('<br>GeoJSON data:<br>' + JSON.stringify(response));
        }
    });
});
$(文档).ready(函数(){
$.ajax(“data/MegaCities.GeoJSON”{
数据类型:“json”,
成功:功能(响应){
$(“#mydiv”).append('
GeoJSON数据:
'+JSON.stringify(响应)); } }); });

请注意,在我们从ajax调用中获得响应/数据后,我们继续将其格式化为JSON。

您使用的是
var mydata
,它没有定义,因此当您将其作为值传递时,它会显示正确的消息
undefined

您可能应该这样修改代码

$(document).ready(function(){
   $.ajax({
    url: "data/MegaCities.GeoJSON",
    method: 'GET' ,
    aysnc: false,
    success: function(response){
        $("#mydiv").append('GeoJSON data:' +response);
    }
  });
});

您使用的是
var mydata
,它没有定义,因此当您将其作为值传递时,它会显示正确的消息
undefined

您可能应该这样修改代码

$(document).ready(function(){
   $.ajax({
    url: "data/MegaCities.GeoJSON",
    method: 'GET' ,
    aysnc: false,
    success: function(response){
        $("#mydiv").append('GeoJSON data:' +response);
    }
  });
});
$.getJSON()试试这一个和$.getJSON()试试这一个和