什么是跨域问题

时间:2014-05-29 07:14:33

标签: javascript cross-domain

如果我在这里问一个愚蠢的问题,请不要嘲笑我。

我多次听到Cross Domain Issue,但实际上并没有真正参与其中。所以我在谷歌搜索它。但发现很多帖子都在讨论The cross domain issue when make a ajax call。甚至没有找到一篇文章来说明跨域问题究竟是什么,以及为什么不允许跨域?更多的问题是,如果我说跨域问题,是否意味着我向不同的域提出了错误的ajax请求?任何其他情况会导致此问题?感谢。

我读过的帖子是

How do I send a cross-domain POST request via JavaScript?

"No 'Access-Control-Allow-Origin' header is present on the requested resource"

2 个答案:

答案 0 :(得分:10)

这是一项安全限制,可防止从一个来源向另一个来源发出请求。

例如,它会阻止https://页面访问http://地址,因为协议不同。

它会停止example.com调用another.com,因为它是一个不同的域。

它会停止www.example.com调用subdomain.example.com,因为它是一个不同的子域。

它会停止example.com:80调用example.com:8080,因为它是一个不同的端口。

可以使用JSONP(如果您信任服务器!)或使用CORS请求(跨源资源共享)进行跨源请求,客户端和服务器必须同意这些请求(我可以提供更多详细信息)如果你需要它)。

答案 1 :(得分:1)

1.究竟跨域问题是什么&不允许:这是因为同站点源策略阻止Web页面访问另一个域的数据。 信息保证,javascript仅限于从一个发送请求到另一个。

2.跨域请求不是错误的。你可以通过一些方法处理它,比如jsonp。

这个链接是关于jsonp的: Jsonp