2017-02-22 12 views
0

api urlをREST API urlにリダイレクトしています。コードはexpressjsの応答リダイレクトでエラーが発生しました

app.use('/api/*', function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); 
    res.header("Access-Control-Allow-Headers", "Origin"); 
    res.header("Access-Control-Allow-Headers", "X-Requested-With"); 
    res.header("Access-Control-Allow-Headers", "Content-Type"); 
    res.header("Access-Control-Allow-Headers", "Accept"); 
    console.log("Inside API", req.url); 
    res.redirect(http://myrestapi/'+req.url); 
}); 

の下http://localhost:3000/api/loginのポスト要求は、エラーの下になっている間よう

いいえ「アクセス制御 - 許可 - 起源」ヘッダは、要求されたリソース上に存在します。 Origin 'http://localhost:3000'はアクセスできません。 私が間違っている場所を教えてください

+0

あなたのREST APIのURLからブラウザの応答は、その上にすべての適切なCORSヘッダを持っている必要があります。そうしないと、ブラウザはAPIサーバーからの結果を許可しません。リダイレクト先のサーバーではなく、リダイレクト先のサーバーで、適切なCORSヘッダーが必要です。 – jfriend00

答えて

0

私はそれが "アクセス制御の許可ヘッダー"をオーバーライドしていると思います。

これを試してみてください

app.use("/api/*",function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    console.log("Inside API", req.url); 
    res.redirect("http://myrestapi/"+req.url); 
}); 
+0

もこれを試してもうまくいかなかった –

関連する問題