解决IE8、IE9不支持发送CORS跨域请求

今天在做网站兼容性测试时遇到一个问题,jQuery的$.ajax()在 IE8 浏览器下无法发送CORS请求,但Chrome、火狐、360等浏览器都是可以的。

经查阅资料发现,原来是 IE8 默认不支持 CORS 请求,网上有提示说,需要手动开启IE8的CORS请求,代码如下:

解决IE8、IE9不支持发送CORS跨域请求

但实际测试发现这种方式只对本地访问有效,线上访问时仍然不起作用。

最终找到两种靠谱的解决方案:
1.使用XMLHttpRequest原生方式实现
2.借助第三方库 jQuery-ajaxTransport-XDomainRequest

这里我采用的是第2种方案,具体用法可参考https://github.com/tangyang8942/jQuery-ajaxTransport-XDomainRequest

解决IE8、IE9不支持发送CORS跨域请求

需要提醒的是关于传参的形式有要求,一定要特别注意!


想学习软件开发的小伙伴可以关注我的在线视频课程,链接地址: https://edu.51cto.com/sd/9a4cc

在学习过程中,如有技术问题可以加QQ群 461774691,互相交流。

猜你喜欢

转载自blog.51cto.com/12402007/2481638