getJSON为什么不能给外部变量赋值?

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

Xml/html代码 
  1. var count=0;  
  2. $.getJSON(sUrl,{"ran": new Date().getDate()},function(jsonData){  
  3. if(!jsonData.count){return;}  
  4. count=jsonData.count;  
  5. })  
  6. alert(count);  

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

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

Javascript代码 
  1. //设置成同步  
  2.   $.ajaxSetup({async: false});  

加入这个代码后就可以了 

Javascript代码 
  1. var count=0;  
  2. $.ajaxSetup({async:false});  
  3. $.getJSON(sUrl,{"ran"new Date().getDate()},function(jsonData){  
  4. if(!jsonData.count){return;}  
  5. count=jsonData.count;  
  6. })  
  7. alert(count);  
原文地址:https://www.cnblogs.com/wangjiangze/p/3040754.html