2016-04-08 4 views
0

CORSリクエストを基本ExpressJSサーバーに完了しようとすると、非常に簡単です。前にExpressJSを扱った経験はあまりありませんでしたが、いくつかの同様の質問があったので、私は問題を見ることができません。適切な場所に必要なヘッダーを追加していないかのように見えますが、Chromeのエラーは何もないことを示しています。サーバー側CORSの設定:ExpressJS「Access-Control-Allow-Origin」はありません

app.configure = function() { 
    app.use(function(req, res, next) { 
     res.header('Access-Control-Allow-Origin', '*'); 
     res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); 
     res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, OPTIONS'); 
     next(); 
    }) 
} 

このコードは正しくありませんか?クライアント側とサーバー側のコードが混在していますか?また、サーバーは私のものなので、私はサーバーがCORS要求に正しく応答できることを確認しようとしています。

+0

する場合は、クライアントの構成を示してください、そしてどうか、

app.use(function(req, res, next) { res.set('Access-Control-Allow-Origin', '*'); res.set('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); res.set('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, OPTIONS'); next(); }) 

やドキュメントに書かれたとして、 CORS –

答えて

0

使用しているエクスプレスバージョンによっては、app.configureを使用できない場合があります。

だから、あなたがそのようにそれを直接使用する必要があります:あなたはセットアップ複数のヘッダ

res.set({ 
'header1' : 'Foobar', 
'header2' : 'Foobar' 
}); 
+0

の設定に影響するため、いくつかのカスタムヘッダーを送信しています。これは、もともとのようにフォーマットされていたものの、ダイスはありませんでした。 –

+0

このようにしてみてください。編集を参照してください。 – DanteDiaze