2

安らかなAPIを構築するためにexpress-jwtを使用しています。現在、クライアントは重複した ajax 呼び出しを行っています。最初のイニシエーターは angularjs で、2 番目のイニシエーターは other です。1 つ目は応答コードとして 204 を取得し、2 つ目は応答コードとして 200 を取得します。この重複したリクエストのソースにたどり着くためにデバッグしようとしましたが、できません。

スクリーンショット

以下は、ステータス コードが 204 のヘッダーの詳細です。

204 応答コード

以下は、ステータス コードが 204 のヘッダーの詳細です。

200 応答コード

問題の可能性があることを誰かが提案できますか?

4

2 に答える 2

5

最初の呼び出しは OPTIONS タイプです。これは、ページと API が同じドメインにない場合にブラウザが送信するプリフライト コールです。

この呼び出しの目的は、CORS を処理することです。バックエンドは通常、許可されたリクエスト メソッド タイプ (GET、POST など) を送信する必要があります。ブラウザは、返されたリクエスト タイプの中に目的のリクエスト タイプが含まれていれば、実際の呼び出しを送信します。

応答ヘッダーのサンプルを次に示します。 ここに画像の説明を入力

すべての意図と目的で無視できます。通常は有用なペイロードや戻りデータは含まれていません。

GET/POST/PUT/DELETE の代わりに OPTIONS を送信する Chromeの AJAX を見てみましょう。詳細については。

于 2015-09-23T09:38:00.053 に答える
2

これらの 2 つの要求は、1 つはOPTIONSであり、もう 1 つは ですGET

application/x-www-form-urlencodedクロスドメイン リクエストの場合、コンテンツ タイプを、multipart/form-data、または以外に設定するtext/plainと、ブラウザはプリフライトOPTIONSリクエストをサーバーに送信します。

リクエストメソッドのときにサーバーで処理するOPTIONS必要があり、その後、処理せずに終了する必要があります。

于 2015-09-23T09:41:58.270 に答える