サーバーへのajax呼び出しを行うと、ページ全体がポストバックされず、サーバーに送信されて応答ページが返されるデータはごくわずかです。
でも加工が気になる。リクエストが通常の呼び出しか Ajax 呼び出しかをサーバーまたはサーバー コードが認識する方法。
専門家にお願いします。疑問を解消してください。
前もって感謝します。
サーバーまたはサーバー コードが、要求が通常の呼び出しまたは Ajax 呼び出しのどちらであるかを認識する方法。
JavaScript コードが HTTP パケットをそのようにマークする場合、サーバーはこれを認識します。たとえば、jQuery では、サーバーに送信される HTTP ヘッダーにX-Requested-With
セットがあり、ASP.NET はこれを使用して、HTTP パケットが ajax 呼び出しかどうかを識別します。
HTTP パケットについて詳しく知るには、Fiddlerなどのパケット スニファーまたは dev. トラフィックを監視するツール。後者の場合、次のようにして Chrome 開発ツールなどでこれを確認できます。
Ctrl+Alt+I
(またはCmd+Alt+I
Mac) を開きます。Request Headers
。ヘッダーの中にはX-Requested-With: XMLHttpRequest
この回答を編集していたときにパッケージを表示しているツールのスクリーンショットを次に示します。
ajax 呼び出しは、同期 (応答がロードされるまで JavaScript をブロック) することもできるため、必ずしも非同期である必要はありません。同期呼び出しが必要な場合もあります。たとえば、ポップアップ ブロッカーでは、非同期 ajax コールバック内でブラウザー ウィンドウを開くことができません。