Ajax请求中的async:false/true

Ajax请求中的async:false/true
async. 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。
async 设置为 false,则全部的请求均为同步请求,在没有返回值以前,同步请求将锁住浏览器,用户其它操做必须等待请求完成才能够执行。ajax

上网查阅了一些资料,发现Jquery的API中提到,JSONP格式不支持跨域同步。由于ajax的核心是经过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加<script>标签来调用服务器提供的js脚本。jsonp的实现不是ajax,而是script节点,因此对ajax有效的配置未必对jsonp有效。json

若是真的须要同步
解决方法:将jsonp请求以后的操做放在success回调函数中处理。跨域

相关文章
相关标签/搜索