<script type="text/javascript">
$.ajaxSettings.async = false;
$.ajaxSetup({
  async: true // 使用同步方式执行AJAX
});
var flag = false;
var url = "http://10.132.8.52:7001/ebusiness/loginAjax";
var param = "?next=" + Math.random() + "&rand=123";
$.getJSON(url + param + "&actionType=policyForGuanWang&acrossDomain=acrossDomain&jsoncallback=?",function(data) {
alert(flag+"      jsoncallback");
}); 
alert(flag);
</script>
跨域访问,代码如上,网上找的同步方法:
$.ajaxSettings.async = false;
$.ajaxSetup({
  async: true // 使用同步方式执行AJAX
});
两个都不管用。。这里必须给全局变量赋值成功后,再继续执行,不能把代码挪到回调函数里面,工作量太大,因为这个是给客户用的…………求高手解决同步问题,感激不尽!

解决方案 »

  1.   

    我是看jquery的官方在线文档,在google里谷歌jquery,第一个
    文档里有写,用jsonp实现跨域,只能使用异步提交,无论你是否设置async,原文链接:
    http://api.jquery.com/jQuery.ajax/
    原文:
    Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation. 
    翻译就不用了吧。。
      

  2.   

    jsonp 相当于加载了一段脚本,这样来实现的跨域。
      

  3.   

    跨域ajax jquery不可能同步,原因网上很容易找到
    得想别的办法,不知道在什么情况下你必须要同步触发