遇到问题-----------getJSON为什么不能给外部变量赋值?或者getJson赋值无效



//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);  


你可能感兴趣的:(jquery,赋值无效)