5

我有以下设置:

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/to 发出的www.domain1.com/page2/

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

谢谢!

4

1 回答 1

2

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

$.support.cors = true;

这适用于 GET 和 POST。

于 2012-07-20T21:45:26.003 回答