ASP.NET MVC - IsAjaxRequest() は実際何を意味するのでしょうか? 質問する

ASP.NET MVC - IsAjaxRequest() は実際何を意味するのでしょうか? 質問する

以前、ベース コントローラーにメソッドを作成しました。

public bool IsJsonRequest()
{
    var acceptTypes = Request.AcceptTypes;
    return acceptTypes != null && 
           acceptTypes.Any(a => a.Equals("application/json",
                                         StringComparison.OrdinalIgnoreCase));
}

そして私は偶然に出会ったAjaxRequestExtensions.IsAjaxRequest()そのドキュメントは非常に曖昧である:

指定された HTTP リクエストが AJAX リクエストの場合は true、それ以外の場合は false。

これを見て、HTTP リクエストが AJAX になる理由は何でしょうか? リクエスト元の受け入れ可能なコンテンツ タイプを確認する以外に何かあるのでしょうか、それともエンコードは「AJAX」の要件ではないのでしょうか?

(私の場合、アクションはサイト上の JS ページからのみ呼び出される必要があり、必要なエンコードは JSON のみであることに注意してください。)

ベストアンサー1

XMLHttpRequest に設定されている (HTTP_X_REQUESTED_WITH) ヘッダーをチェックしますX-Requested-With。このヘッダーは、AJAX リクエストを行うときに jQuery やその他の多くの JavaScript フレームワークによって設定されます。

おすすめ記事