Javascript跨域 - “允许”其他域名?

时间:2011-03-18 11:22:06

标签: javascript cross-domain

步骤说明

  1. 在我的域中的自定义页面上编写“回调”函数(为了参数,称为“MyCallbackCallback”)
  2. 打开新窗口(来自不同的域)并将函数名称作为查询字符串
  3. 的一部分传递
  4. 新窗口执行其需要执行的操作,然后尝试从我的自定义页面访问“MyCallback”
  5. 这显然不会工作,并会返回“拒绝访问”错误。

    当然,如果有一种方法可以“允许”第三方域名访问我的域名来解决问题。有这样的事吗?我知道Action Script中有,但JavaScript?

    注意 - 我知道在两个页面上设置“document.domain”(或在同一个域中创建两个页面)都可以解决问题,但我几乎可以肯定不会选项。

    如果答案是“你不能”,这很好 - 我只需要知道。我花了很多时间搜索,找不到简单的答案(可能没有!)

    Ta,Rob

3 个答案:

答案 0 :(得分:4)

您的问题并不完全清楚,但如果您尝试使用CORS,则您要求数据的服务器应添加Access-Control-Allow-Origin HTTP标头,如下所示:

Access-Control-Allow-Origin: http://example.org/

或者,如果它是公共资源:

Access-Control-Allow-Origin: *

旧版浏览器不支持CORS。如果您需要完全跨浏览器兼容的解决方案,请使用JSONP

答案 1 :(得分:1)

答案 2 :(得分:0)

如果您想要没有服务器端代理的跨域通信(适用于您所描述的RPC类型),请查看easyXDM

您可以找到多个demos here