标签:js
坑位
最近接到一个活动需求,但是服务端接口全是跨域的,由于js同源策略,ajax请求是不允许跨域请求的,比较流行的解决方法是jsonp或者cors,但当服务端是走cors的时候,发现IE10以下都是不可行的。
Why
IE10以下不支持cors跨域请求,但是可以通过IE9/IE8下的XDomainRequest 对象允许 AJAX 应用程序在满足一定条件的时候,直接发起安全的跨域请求
解决方案
- 对于使用jquery的ajax的,市面上已有第三方的兼容库叫:jquery.xdomainrequest.js:下载地址,在使用时可以使用IE条件语法,只有在低于IE9以下版本下才引入兼容库,示例如下:
<!--[if lte IE 9]>
<script type="text/javascript" src="jquery.xdomainrequest.min.js的路径"></script>
<script type="text/javascript">
jQuery.support.cors = true;
</script>
<![endif]-->