需要在 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 发布的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

多种解决react中跨域问题方案

多种解决react中跨域问题方案

Ajax中跨域请求为什么触发Options请求?

使用vue-admin-template 中跨域问题解决

使用proxyTable 解决webpack+vue-cli+vue-resource中跨域问题

vue+springboot前后端分离工程中跨域问题的解决