请求的资源上没有“Access-Control-Allow-Origin”标题。 NodeJS和AngularJS应用程序

我已阅读所有上述链接,但它仍然不能解决我的问题。 节点代码

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; }); 

我实际上击中的url,它也返回我200 OK响应,但它仍然失败,这样的消息。 我已经尝试了很多博客和答案,但似乎没有帮助,每个人都重申了我已经尝试过的同样的事情。 消息失败

 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. 

我只能在这里预测一个问题。

你的app.use(),必须高于所有请求。

我已经把这个问题烧了,所以我知道。 让我知道是否有帮助。 如果没有,我们将重新开始。

从这里下载名为Cors的Chrome插件: https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en//chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

它将允许你从任何来源请求任何网站的Ajax。