web-dev-qa-db-ja.com

リクエストがasp.net mvcのajaxであるかどうかを知る方法は?

誰かがリクエストがajaxかどうかを知るにはどうすればよいですか? (ajaxにjqueryを使用しています)

104
Omu

すべてのAJAX jQueryによって行われた呼び出しには、AJAXであることを示すヘッダーが追加されます。チェックするヘッダーはX-Requested-With、およびAJAX呼び出しの場合、値はXMLHttpRequestになります。

AJAXリクエストは通常​​のGETまたはPOSTであるため、あなた(またはjQueryのようなAJAXライブラリ))がリクエストに追加のヘッダーを追加しない限り、 AJAXかどうかを確実に知る方法はありません。

69
RedFilter

MVCの新しいバージョンを使用している場合は、_Request.IsAjaxRequest_もあります。バージョン1はもうないので、バージョン1であるかどうかはわかりません。

Global.asax.csでこのチェックが必要な場合は、new HttpRequestWrapper(Request).IsAjaxRequest()を試してください。

173
Buildstarted

ASP.NET MVC 3で動作します

if (Request.IsAjaxRequest())
{
     // ajax request handled
}
50
Piotr Czyż