[英]No 'Access-Control-Allow-Origin' header is present on the requested resource.
[英]No 'Access-Control-Allow-Origin' header is present on the requested resource. NodeJS and AngularJS App
我已經閱讀了上述所有鏈接,但它仍然沒有解決我的問題。 節點代碼
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 響應,但它仍然失敗並顯示這樣的消息。 我已經嘗試了很多關於 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.
我在這里只能預測一個問題。
您的 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
en
它將允許您從任何來源請求任何帶有 ajax 的站點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.