<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
});
两个都不管用。。这里必须给全局变量赋值成功后,再继续执行,不能把代码挪到回调函数里面,工作量太大,因为这个是给客户用的…………求高手解决同步问题,感激不尽!
文档里有写,用jsonp实现跨域,只能使用异步提交,无论你是否设置async,原文链接:
http://api.jquery.com/jQuery.ajax/
原文:
Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation.
翻译就不用了吧。。
得想别的办法,不知道在什么情况下你必须要同步触发