【问题标题】:Is an AJAX request from my own site to my own site a cross-origin request when loaded in an iframe?在 iframe 中加载时,从我自己的站点到我自己的站点的 AJAX 请求是否是跨域请求?
【发布时间】:2012-07-31 01:40:13
【问题描述】:

我正在开发 Facebook Canvas 应用程序,根据定义,它会将我的应用程序的代码/网页加载到 Facebook 网站上的 iFrame 中。

在开发过程中,我的印象是,如果我从应用程序的网页向与网页完全相同的服务器/域名上的应用程序的 web 服务发出 AJAX 请求,这实际上是一个跨域请求- 因为最初加载在浏览器(顶部)框架中的页面与我的网络服务位于不同的域中。

但是我现在认为,可能是由于我的代码中的错误,我弄错了,iFrame 中的页面可以向与其位于同一域的 URL 发出请求,而不是跨域请求。

澄清这一点对我来说尤其重要,因为我现在相信我可以实际使用 POST 请求,而不必使用 JSONP GET 请求。

如果有人能为我澄清这一点,我将不胜感激。我四处搜索,找不到关于这种情况的明确声明。

编辑:提供更多说明:我在https://apps.facebook.com/myapp/ 的 Facebook 应用页面 URL 将我的网页 www.mydomain.com 加载到 iFrame 中。然后,www.mydomain.com 上的网页向 www.mydomain.com 上的 Web 服务(例如 www.mydomain.com/webservice/)发出 AJAX 请求。那么从我的网页到我的网络服务的请求是否是跨域请求?

干杯 马特

【问题讨论】:

    标签: ajax iframe cross-domain facebook-apps iframe-app


    【解决方案1】:

    在 iframe 中加载的文档仍然是它自己的文档,并且在涉及相同来源策略时,无论它是否显示在框架中,其行为都与任何其他文档一样。

    所以是的,您绝对可以向传递您的文档的域发出 AJAX 请求,无论它是否显示在 Facebook.com 上的 iframe 中。

    不涉及跨域边界。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 2010-12-29
      • 2011-05-20
      • 2020-04-10
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      相关资源
      最近更新 更多