日期:2014-05-16  浏览次数:20407 次

求教:是否在跨域情况下,$.ajax中的async=false是否会失效?

$.ajax({
                 type: "get",
                 url: "http://www.XXXXXX.com/Personsetlvet",
                async: false,
                 data: "",
                 dataType: "html",
                 success: function (ajaxData) {
                     flag = ajaxData;
                     $("#ajaxStatus").text("数据加载完成!");
                 }
             });


代码如上:
现在情况是,在www.XXXXXX.com同域名下,同步是有效的,但是在其他域名下,同步就好像失效了,
现在我就是想做成在跨域名的情况下,还可以做成同步的,有不有大侠知道呢?
域名 JavaScript HTML 行业数据 URL

------解决方案--------------------
dataType: "html",形式下不能跨域,只有在json、jsonp、script形式下才可跨域
------解决方案--------------------
引用:
我后来修改成了jsonp,但是在跨域的情况下,好像同步失效了哟

Quote: 引用:

楼主的这个写法是不能跨域的;
jQuery可以用JSONP的方式跨域,使用getJson或者getScript方法,但是那两个方法都是异步的。

调查jsonp的跨域原理吧
ajax是不能跨域的
jsonp的实现不是ajax,而是script节点,所以对ajax有效的配置未必对jsonp有效
如:
<script src="http://xxx.htm?callback=xxxxxxxx"></script>