首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我认为跨子域AJAX请求是允许的,但是这个Chrome错误似乎表明并非如此

我认为跨子域AJAX请求是允许的,但是这个Chrome错误似乎表明并非如此
EN

Stack Overflow用户
提问于 2010-10-26 23:09:42
回答 2查看 14.9K关注 0票数 19

我知道出于安全原因,跨域请求是不允许的,但我的印象是,只有顶级域才需要匹配,不同的子域可以。然而,我在Chrome7上得到了这个错误:

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

这些类型的请求的具体规则是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-26 23:17:29

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

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

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

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

Reference

票数 27
EN

Stack Overflow用户

发布于 2010-10-26 23:17:23

没有跨子域名的请求,任何浏览器都不允许。但是有一些方法,比如CORS,使用iframes,设置document.domain来使其工作(尽管有一些限制)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4025061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档