猿问

当http://localhost是起源时致命的CORS

当http://localhost是起源时致命的CORS

尽管我为服务器(nginx/node.js)设置了适当的标头,但我仍然遇到了这个CORS问题。

我可以在ChromeNetwork窗格中看到->响应头:

Access-Control-Allow-Origin:http://localhost

这应该能起作用。

下面是我现在用来测试的代码:

var xhr = new XMLHttpRequest();xhr.onload = function() {
   console.log('xhr loaded');};xhr.open('GET', 'http://stackoverflow.com/');xhr.send();

我得到

XMLHttpRequest cannot load http://stackoverflow.com/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

我怀疑这是客户端脚本中的问题而不是服务器配置的问题.


明月笑刀无情
浏览 1067回答 3
3回答

HUWWW

Chrome不支持本地主机CORS请求,在这个方向上不太可能有任何改变。我用允许-控制-允许-来源:*Chrome扩展来讨论这个问题。扩展将为CORS添加必要的HTTP头:Access-Control-Allow-Origin:&nbsp;*Access-Control-Allow-Methods:&nbsp;"GET,&nbsp;PUT,&nbsp;POST,&nbsp;DELETE,&nbsp;HEAD,&nbsp;OPTIONS"Access-Control-Expose-Headers: &nbsp;<you&nbsp;can&nbsp;add&nbsp;values&nbsp;here>这个源代码是在gizub上发布的。.注意,默认情况下扩展筛选所有URL。这可能会破坏一些网站(例如:Dropbox)。我已经把它改成只过滤了本地宿主具有以下URL筛选器的URL*://localhost:*/*
随时随地看视频慕课网APP
我要回答