【问题标题】:What is the cross domain issue [closed]什么是跨域问题[关闭]
【发布时间】:2014-05-29 07:14:33
【问题描述】:

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

我已经多次听到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"

【问题讨论】:

  • 更好的搜索:"Same Origin Policy".
  • :)Joe,我没笑,但笑脸笑了!
  • :) 阿米特,希望你今天过得愉快。
  • @dystroy 谢谢你的链接。 +1

标签: javascript cross-domain


【解决方案1】:

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

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

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

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

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

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

【讨论】:

  • +1 请给我更多细节(如果有一些例子可以的话)。欣赏!
  • CORS 涉及客户端发送飞行前请求以询问服务器是否允许通信。然后,服务器必须响应它将与之交谈的来源。这里有确切的细节:enable-cors.org
【解决方案2】:

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

2.跨域请求没有错。你可以通过一些方法来处理它,比如jsonp。

这个链接是关于 jsonp 的: Jsonp


【讨论】:

  • JSONP 现在基本上已经过时了。处理同源策略的正确方法是设置正确的 CORS 标头。
猜你喜欢
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 2010-12-07
  • 1970-01-01
  • 2017-08-29
  • 2011-01-12
  • 2021-04-07
相关资源
最近更新 更多