需要在 IE7 中跨域 ajax 发布的解决方法
Posted
技术标签:
【中文标题】需要在 IE7 中跨域 ajax 发布的解决方法【英文标题】:Need a workaround for cross domain ajax post in IE7 【发布时间】:2012-05-26 03:57:58 【问题描述】:所以IE7不支持CORS(跨源资源共享)。但是,由于我的应用程序的性质,我必须发布一个跨域 ajax 帖子。有没有办法让它在 IE7 中工作?不幸的是,出于安全原因,我不能使用服务器端代理。也许使用 iFrame?
我忘了说,但我也控制着另一台服务器。
【问题讨论】:
这是post而不是get。 JSONP 只支持 GET 请求吧? 【参考方案1】:Easy XDM library 是为了解决跨域问题而开发的:
easyXDM 是一个 javascript 库,它使您作为开发人员能够轻松解决同源策略设置的限制,从而使跨域边界的通信和公开 javascript API 变得容易。
我还没有使用它,但我们可能不得不尝试它来解决一个 Http / HTTPS Ajax 调用问题......
希望对您有所帮助。
其他感兴趣的话题:
Ajax using https on an http page AJAX, Subdomains, and SSL【讨论】:
从 Easy XDM 站点更新 - 它不再适用于 IE6 和 7 可能的解决方案,链接在easyXDM网站上:How to upgrade【参考方案2】:按照老式的方式进行操作:使用外部域将表单发布到 iframe。您可以在 iframe 上监听 onload 事件以了解它已完成。
另一种选择是使用服务器端代理并从那里发布。
【讨论】:
如果我使用 iFrame,有没有办法在当前文档和 iframe 之间进行通信? 没有。同源策略可以防止这种情况。你得到的只是 iframe 本身的 onload 事件。 easyXDM 在内部使用 postMessage API 来实现以上是关于需要在 IE7 中跨域 ajax 发布的解决方法的主要内容,如果未能解决你的问题,请参考以下文章