我已阅读上述所有链接,但仍未解决我的问题。 节点代码
app.all('*', (req, res, next) => {
let allowedOrigins = ['http://localhost:8080', 'http://127.0.0.1:8080'];
let origin = req.headers.origin;
if (allowedOrigins.indexOf(origin) > -1) {
console.log(origin);
res.setHeader('Access-Control-Allow-Origin', 'http://127.0.0.1:8080');
}
res.set('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type');
res.set('Access-Control-Allow-Credentials', 'true');
res.set('Access-Control-Allow-Methods', "GET,POST,PUT,OPTIONS,DELETE");
next();
});
angularJS
app.config(function($httpProvider) {
$httpProvider.defaults.withCredentials = true;
$httpProvider.defaults.useXDomain = true;
});
我实际上正在点击网址,它也会返回200 OK响应,但它仍然会失败并显示此消息。我已经在SO上尝试了很多博客和答案,但似乎没有任何帮助,每个人重申我已经尝试过的同样的事情。 消息失败
XMLHttpRequest cannot load http://localhost:5040/save. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8080' is therefore not allowed access.
答案 0 :(得分:1)
我只能在这里预测一个问题。
您的app.use()必须高于所有请求。
我已经在这类问题上烧过手了所以我知道。如果有帮助,请告诉我。如果没有,我们将重新开始。
答案 1 :(得分:0)
从此处下载名为 Cors 的Chrome插件:
https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en
它允许您从任何来源请求任何带有ajax的网站。