0

サーバーへのajax呼び出しを行うと、ページ全体がポストバックされず、サーバーに送信されて応答ページが返されるデータはごくわずかです。

でも加工が気になる。リクエストが通常の呼び出しか Ajax 呼び出しかをサーバーまたはサーバー コードが認識する方法。

専門家にお願いします。疑問を解消してください。

前もって感謝します。

4

3 に答える 3

3

サーバーまたはサーバー コードが、要求が通常の呼び出しまたは Ajax 呼び出しのどちらであるかを認識する方法。

JavaScript コードが HTTP パケットをそのようにマークする場合、サーバーはこれを認識します。たとえば、jQuery では、サーバーに送信される HTTP ヘッダーにX-Requested-Withセットがあり、ASP.NET はこれを使用して、HTTP パケットが ajax 呼び出しかどうかを識別します

HTTP パケットについて詳しく知るには、Fiddlerなどのパケット スニファーまたは dev. トラフィックを監視するツール。後者の場合、次のようにして Chrome 開発ツールなどでこれを確認できます。

  1. Chrome デベロッパー ツールCtrl+Alt+I(またはCmd+Alt+IMac) を開きます。
  2. [ネットワーク] タブを選択します (ネットワーク監視を有効にするには、ページを更新する必要がある場合があります)。
  3. Ajax 呼び出しを実行すると、作成された HTTP 要求が下部のリストに表示されます。
  4. 関連するパケットを選択すると、選択したパケットの「ヘッダー」、「プレビュー」、「応答」、「Cookie」、および「タイミング」タブが表示されます。
  5. 「ヘッダー」タブを選択します
  6. 部分を拡張する必要がある場合がありますRequest Headers。ヘッダーの中にはX-Requested-With: XMLHttpRequest

この回答を編集していたときにパッケージを表示しているツールのスクリーンショットを次に示します。

この回答の編集中にリクエストを検査するChrome開発ツール

ajax 呼び出しは、同期 (応答がロードされるまで JavaScript をブロック) することもできるため、必ずしも非同期である必要はありません。同期呼び出しが必要な場合もあります。たとえば、ポップアップ ブロッカーでは、非同期 ajax コールバック内でブラウザー ウィンドウを開くことができません。

于 2013-06-13T07:01:21.203 に答える