jQuery getJSON() 能给外部变量赋值

时间:2024-04-26 21:03:58

//getJSON 内部已经赋值给count,alert出数据来看看是不是0

var count=0;
$.getJSON(sUrl,{"ran": new Date().getDate()},function(jsonData){
if(!jsonData.count){return;}
count=jsonData.count;
})
alert(count);

得到的数据还是0,sUrl里赋值是100。

用百度谷歌了一下,发现jquery中ajax默认是异步方式,所以会有延迟,如果一定要在外边调用,可以设置成同步的方式。

//设置成同步
$.ajaxSetup({async: false});

加入这个代码后就可以了

var count=0;
$.ajaxSetup({async:false});
$.getJSON(sUrl,{"ran": new Date().getDate()},function(jsonData){
if(!jsonData.count){return;}
count=jsonData.count;
})
alert(count);