如果我在这里问一个愚蠢的问题,请不要嘲笑我。
我多次听到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"
答案 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