即使我为服务器(nginx/node.js)设置了适当的标头,我也遇到了这个 CORS 问题。
我可以在 Chrome 网络窗格中看到 -> 响应标头:
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 无法加载。Access-Control- Allow-Origin 不允许来源http://localhost 。
我怀疑这是客户端脚本中的问题,而不是服务器配置中的问题…
Chrome不支持 localhost 的 CORS 请求(2010 年发现的错误,2014 年标记为 WontFix)。
为了解决这个问题,您可以使用类似的域localho.st(它指向 127.0.0.1,就像 localhost 一样)或使用--disable- web-security标志启动 chrome(假设您只是在测试)。
localho.st
--disable- web-security