Open youngwind opened 8 years ago
IE8和IE9在实现跨域请求的时候使用XDomainRequest自己实现了一套,所以即使是使用jquery1.9.1版本也无法直接兼容IE8,IE9的跨域请求。StackOverflow上的两个问答说得很清楚。
这个方法在上面第二个链接已经有人做好了,但是我嫌有点麻烦,不想在每个项目中都要定义这样一个函数吗?
有人已经做好了,详见这里。https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest
不过使用它有几点非常需要注意
jQuery-ajaxTransport-XDomainRequest 无法带上 cookies,oh my god...
原因
IE8和IE9在实现跨域请求的时候使用XDomainRequest自己实现了一套,所以即使是使用jquery1.9.1版本也无法直接兼容IE8,IE9的跨域请求。StackOverflow上的两个问答说得很清楚。
解决方案
1. 自己抽象定义一个ajax请求函数
这个方法在上面第二个链接已经有人做好了,但是我嫌有点麻烦,不想在每个项目中都要定义这样一个函数吗?
2. 重定义jquery的$. ajaxTransport方法
有人已经做好了,详见这里。https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest
不过使用它有几点非常需要注意