2017-01-21 14 views
1

私は上記のリンクをすべて読んだが、それでも問題は解決しない。 ノードコード要求されたリソースに 'Access-Control-Allow-Origin'ヘッダーが存在しません。 NodeJSと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応答を返しますが、それはまだそのようなメッセージで失敗します。私は多くのブログと答えを試しましたが、誰も助けてくれないと思うし、それぞれが私がすでに試したものと同じことを繰り返しています。 メッセージが失敗する

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. 

答えて

1

ここでは1つの問題しか予測できません。

あなたのapp.use()は、すべての要求よりも高い必要があります。

私はすでにこの種の問題に手を焼いているので、私は知っています。それが役に立ったら教えてください。そうでなければ、やり直します。

+0

ありがとうございました。それは魅力のように働いた。 –

0

ここからCORSと呼ばれるクロムのプラグインをダウンロードします。 https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

それはあなたが任意のソースからAjaxで任意のサイトを要求することができます。

関連する問題