`

实现$.getJSON的同步请求

阅读更多
----问题描述:
在getJSON方法体里面可以获取到数据,但总是不能在外部获取,即使定义了一个全局变量还是无法获取。
----解决方法:
在外部定义一个全局变量,如:
var myLatlngs=[];

在获取数据的地方设置
//示例:经纬度坐标转换
function  getMyData(coordType,latlngs){
  myLatlngs=[];
  $.ajaxSettings.async = false;//设置为同步
  $.getJSON("http://192.168.20.33:83/coordconvert/json/"+coordType+"
                /"+latlngs+"/callback=?",function(data){
	for ( var f = 0; f < data.length; f++) {
		var lonlat={lon:data[f].lng,lat:data[f].lat};
		myLatlngs.push(lonlat);
	}
     });
}

这样还是无法获取吗?
你可以这样做:

setTimeOut(function(){
     getMyData(1,"30.684545,103.7845434");
     alert(myLatlngs.length);//提示数字等于1
},2000);
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics