ajax跨域请求 IE失败,谷歌、火狐访问正常的解决办法

本文详细介绍了在前端开发中,如何解决Internet Explorer浏览器在进行跨域请求时的问题。通过调整浏览器设置及在Ajax请求中添加特定配置,实现IE与其他现代浏览器如Chrome、Firefox一样,能正确处理预检请求(OPTIONS)和实际请求(POST),确保跨域请求成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在前端开发过程中遇到一个问题: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');
            }});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值