検索

ホームページ  >  に質問  >  本文

angular.js - angularjs が $http get リクエストを開始するたびに同じリクエストが 2 回発生する理由とその解決方法は何ですか

タイトルにあるように、angularjs が $http get リクエストを開始するたびに、同じリクエストが 2 回発生します。

以下に示すように:

同じリクエストが発生するたびに、前のリクエスト (イニシエーター: angular.js) は空を返し、後続のリクエスト (イニシエーター: Other) はデータを返します。

###どうしてそうなった?一度だけお願いしてもいいですか?

typechotypecho2698日前1689

全員に返信(3)返信します

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-04 13:46:54

    OPTIONS リクエストはメッセンジャー リクエストです。クロスドメイン リクエストの前に、ブラウザはサーバー リクエストのアクセス ヘッダーを取得するために最初に OPTIONS リクエストを送信します。OPTIONS リクエストが拒否された場合、その後の GET/POST/PUT/PATCH などの操作が行われます。続かない。

    前のリクエストはパスを探索するだけであり、データヘッダーのみをリクエストしたため、空を返すのが通常です。前回の OPTIONS アクセスのヘッダー情報がサーバーによって拒否された場合、次のリクエストは開始されません。

    これは HTTP 自体の特性であり、独自のサーバーの場合は、バックグラウンドですべての OPTIONS タイプのリクエストに空を返すだけで済みます (OPTIONS があるため、これは念のためです)。データ ヘッダーのみを要求します)、常に null を返します)。

    返事
    0
  • 迷茫

    迷茫2017-07-04 13:46:54

    最初のリクエストはオプションタイプで、2 番目のリクエストは指定したタイプですか?

    返事
    0
  • 学习ing

    学习ing2017-07-04 13:46:54

    1 つ目は、オプション リクエストが Angular フレームワーク自体によって検証されたクロスドメイン リクエストであるということです。実際のリクエストは、オプションの検証に合格した場合にのみ送信されます。これを無視してバックエンドに処理させることができます。

    返事
    0
  • キャンセル返事