让IE停止在iframe中将ajax视为跨域

blu*_*ume 5 javascript ajax jquery internet-explorer cross-domain

我有以下设置:

www.domain1.com/page1/ - 发出ajax POST请求 www.domain1.com/page2/

www.domain1.com/page2/ - 返回json响应


www.domain2.com/page1/- 嵌入www.domain1.com/page1/iframe


当我加载www.domain1.com/page1/ajax请求时,一切正常.当我加载www.domain2.com/page1/Chrome或Firefox时,www.domain1.com/page1/会显示在iframe中,并且ajax请求正常.

当我尝试加载www.domain2.com/page1/在IE7/IE8,Ajax请求给出一个Forbidden错误-这似乎是处理请求跨域和阻止它,即使该请求被从制作www.domain1.com/page1/www.domain1.com/page2/.

当请求是GET时,它在IE中工作正常,但不是POST.我怎样才能让IE停止将其视为跨域,只是因为整个流程都包含在iframe中?

谢谢!

Joh*_*eci 2

jQuery v1.7.2 将修复 IE 中的 CORS,即使它不是真正的 CORS,但 IE 认为它是。
JavaScript 函数开头的这个简单布尔值应该可以修复此行为

$.support.cors = true;
Run Code Online (Sandbox Code Playgroud)

这适用于 GET 和 POST。