1

我有一个场景,其中一个 .net 应用程序是从 SAP 门户托管的。

  • SAP 门户域:portalURL.al.xx.company.com
  • 应用服务器域:AppURL.ss.xx.company.com

如您所见,门户和应用服务器域在1 级上并不相同。(即,在 1 级上,门户域将是 al.xx.company.com 而应用服务器将是 ss.xx.company.com)。

但是,在2 层以上,门户和应用服务器域是相同的。(即 xx.company.com)。

在我的 JavaScript 代码中,我将 document.domain 对象设置为xx.company.com。但是我仍然收到“权限被拒绝”错误。

门户和应用服务器的协议是相同的。

同源法下的跨域脚本是否仅在域在 1 级以上相同的情况下才有效?请告诉我。

4

2 回答 2

1

是的,同源政策会否认这一点。这两个帧必须在完全相同的域上,甚至在同一个端口上。

但是,document.domain 应该解决这个问题。如果它不适合您,请记住您必须在两个框架中都设置document.domain为以及 ( )。xx.company.comtop.frame2top

但是,如果您可以访问所有代码,则可以使用JSON-P解决此问题

于 2010-07-08T11:16:33.603 回答
0

看看Same origin policy,尝试考虑jsonp

于 2010-07-08T11:17:44.690 回答