让IE停止在iframe中将ajax视为跨域
我有以下设置:
www.domain1.com/page1/
– 向www.domain1.com/page2/
提出ajax POST请求
www.domain1.com/page2/
– 返回json回复
www.domain2.com/page1/
– 在iframe中嵌入www.domain1.com/page1/
当我加载www.domain1.com/page1/
,会发出ajax请求并且一切正常。 当我在Chrome或Firefox中加载www.domain2.com/page1/
时,iframe中会显示www.domain1.com/page1/
,并且ajax请求正常。
当我尝试在IE7 / IE8中加载www.domain2.com/page1/
时,ajax请求会出现FORBIDDEN错误 – 它似乎将请求视为跨域并阻止它,即使请求是从www.domain1.com/page1/
至www.domain1.com/page2/
。
当请求是GET时,它在IE中工作正常,但不是POST。 我怎样才能让IE停止将其视为跨域,只是因为整个流程都包含在iframe中?
谢谢!
jQuery v1.7.2将修复IE中的CORS,即使它不是真正的CORS,但IE认为它是。
JavaScript函数开头的这个简单布尔值应该可以解决这个问题
$.support.cors = true;
这适用于GET和POST。