小编典典

我以为跨子域AJAX请求是允许的,但是此Chrome错误似乎表明是其他情况

ajax

我知道出于安全原因不允许跨域请求,但是我给人的印象是,只有顶级域需要匹配,不同的子域也可以。但是,我从Chrome 7中收到此错误:

“不安全的JavaScript试图从URL为http://bar.somedomain.com/otherdir/otherpage.html的框架访问URL为http://foo.somedomain.com/dir/page.html的框架。域,协议和端口必须比赛”

这些类型的请求的确切规则是什么?


阅读 206

收藏
2020-07-26

共1个答案

小编典典

简而言之,相同来源策略的规则是:

  • 同一主机
  • 同一端口
  • 相同的协议

在您的示例中,您违反了主机规则,因为即使第二级域相同,另一个子域也可能指向另一个主机/ IP。

如果没有其他可能性,则可以尝试在ajax请求中使用JSONP;否则,可能会失败。这没有SOP。

参考

2020-07-26