在 iframe 内容中发出跨域 ajax 请求是不是可行?

Posted

技术标签:

【中文标题】在 iframe 内容中发出跨域 ajax 请求是不是可行?【英文标题】:Is it viable to make cross-domain ajax requests within iframed content?在 iframe 内容中发出跨域 ajax 请求是否可行? 【发布时间】:2011-11-20 14:59:43 【问题描述】:

我有一个域上的应用程序需要从另一个域上的应用程序获取数据。

我想使用基于 iframe 的跨域 ajax 工具,例如 porthole.js 来实现以下功能:

    我的应用程序在 iframe 中的其他服务器上加载页面。

    使用 porthole 将消息发送到 iframe。

    另一台服务器上的页面检查以确保调用 url 有效,并读取它将从消息中发出的 ajax 请求的 url。

    然后远程页面使用传递的 url 发出 ajax 请求。

    结果会传回我的应用程序。

此解决方案让我可以使用远程 json 数据,而无需系统地更改由另一个团队构建和管理的所有服务。如果它不起作用,我会与他们一起使用使用 porthole.js 或 jsonp 进行跨域脚本编写的系统。

不过,与我有关的一点是第 4 步。这是否算作来自 iframe 内的远程文档的 ajax 调用,它能够针对它进行 ajax 调用,还是算作来自外层窗口,不能用ajax调用那个域?

【问题讨论】:

能否让标题更具描述性?它不包含任何信息。 已经尝试过改进(诚然,没有完全理解这个问题)... 【参考方案1】:

天哪,只需使用CORS。这是对网络服务器配置的单行更改。

【讨论】:

以上是关于在 iframe 内容中发出跨域 ajax 请求是不是可行?的主要内容,如果未能解决你的问题,请参考以下文章

怎样避免跨域发出OPTIONS请求?

如何在ASP NET Core中实现CORS跨域

向具有不同域和基本身份验证的服务器发出 ajax POST 请求是不可能的吗?

ajax 跨域----好用的解决方案

CSRF(跨域请求伪造)

Ajax 文件下载问题