私は、反応を使用して自分のAPIにデータを送信しています。私が作るすべてのPOSTリクエストは私にOPTIONSリクエストを与えます。これを修正する必要があります。私はいくつかのプリフライト構造をする必要があるかもしれないと思っていますが、それについて読んだ後も、それを実装する方法はまだ分かりません。私は私のようにAPIに接続しています現時点ではNodejsサーバからCORSを有効にする方法
は...
fetch('http://localhost:8080/login', {
method: 'POST',
mode:'cors',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
username: this.state.username,
password: this.state.password
})
});
これはonSubmit
と呼ばれています。私は私のPOST要求にいくつかのデータを送信しているので、私はそれらのヘッダーが必要と仮定しています。
今私のノードのjsのサーバーAPIで、私は次のハンドラを持っている...
var responseHeaders = {
"access-control-allow-origin": "*",
"access-control-allow-methods": "GET, POST, PUT, DELETE, OPTIONS",
"access-control-allow-headers": "content-type, accept",
"access-control-max-age": 10,
"Content-Type": "application/json"
};
app.post('/login', function(req, res, next) {
if (req.method == "OPTIONS") {
res.writeHead(statusCode, responseHeaders);
res.end();
}
console.log("hello");
...
私は取得要求を行うとき、これは、しかし、動作しません...
OPTIONS /login 200 8.570 ms - 4
の場合私はPOSTが動作するヘッダーを削除しますが、データ(ユーザー名、パスワード)は渡されません。
このオプションの問題を回避するにはどうすればよいですか?
チェックはこのhttp://stackoverflow.com/q/7067966/3284355 – Molda