IE9/IE8,ie9及以下版本浏览器$.ajax请求接口问题解决

业主使用的web应用使用了ie9内核,导致后台接口通过$.ajax无法进行请求,为了兼容ie9以及以下的浏览器版本,尝试了各种方法:

1、更改ie浏览器设置,将通过域访问数据源设置为允许或者提示(ie浏览器设置--Internet选项--安全--自定义级别--通过域访问数据源-同意或者提示),重启浏览器,但是没用

2、在请求前设置

jQuery.support.cors = true;

设置http://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.3/jquery.xdomainrequest.min.js

也没效果

3、在&.ajax运行前增加一这段代码(亲测有效)

jQuery.support.cors = true;
            jQuery.ajaxSetup({
                xhr: function() {
                    if(window.ActiveXObject){
                        return new window.ActiveXObject("Microsoft.XMLHTTP");
                    }else{
                        return new window.XMLHttpRequest();
                    }
                }
            });
加这段代码的前提:
(1)在nginx进行项目接口跨域配置
add_header Access-Control-Allow-Origin *;
 add_header Access-Control-Allow-Methods 'GET,POST';
 add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

(2)如果不方便配置nginx,那么就在所有需要设置跨域的接口处加上跨域注解@CrossOrigin即可

此方法必须同时设置ajaxSetup和cros=true,然后接口配置跨域就可以实现兼容ie9及以下浏览器

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值