IE8下$.ajax跨域返回textStatus为“No transport”

来源:互联网 发布:java string转int 编辑:程序博客网 时间:2024/06/05 21:03
   $.ajax({            type: "POST",            async: false,            contentType: "application/x-www-form-urlencoded;charset=UTF-8",            xhrFields: {                withCredentials: true            },            url:url,            data:data,            success:function (response) {                arr = response.Data.ListData;            },            error:function (XMLHttpRequest, textStatus, errorThrown) {                alert(XMLHttpRequest.readyState);                alert(textStatus);            }        });

代码如上,本以为是代码出问题,结果后面查阅资料发现,IE8还不支持CORS协议,即后台添加的Access-Control-Allow-Origin:*

解决方法如下:

  • 在$.ajax前面添加jQuery.support.cors=true;
  • 或者,在$.ajax中添加
crossDomain:true,dataType:'jsonp',jsonp:'callback',
阅读全文
1 0
原创粉丝点击