在前端开发过程中遇到一个问题:chrome、火狐可以正常访问跨域服务接口,将调用的一次请求分成两次请求OPTIONS和POST,但IE就发送了一个OPTIONS请求后就没下文了,ajax直接到error,原来是IE阻止了POST请求,如下设置下就可以正常访问。
1、通过【internet选项】->【安全】->【自定义级别】->启用【通过域访问数据源】选项,设置后重启浏览器。
2、如果IE是10以下,请求参数中还需要设置跨域参数
var token="xx";var url="xxxx";$.ajax({type: "POST",url: url,async: false,contentType: 'text/plain',dataType: "json",data: data,crossDomain:true==!(document.all),//IE10以下浏览器需 加上这句!!!headers: {Authorization: "Bearer " + token},success: function (d) {$("body").text('success');},error: function (a, b, c) {$("body").text('failed');}});