通过http上下文判断是否是Ajax请求

Posted York

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过http上下文判断是否是Ajax请求相关的知识,希望对你有一定的参考价值。

using System;

namespace System.Web.Mvc
{
    /// <summary>Represents a class that extends the <see cref="T:System.Web.HttpRequestBase" /> class by adding the ability to determine whether an HTTP request is an AJAX request.</summary>
    public static class AjaxRequestExtensions
    {
        /// <summary>Determines whether the specified HTTP request is an AJAX request.</summary>
        /// <returns>true if the specified HTTP request is an AJAX request; otherwise, false.</returns>
        /// <param name="request">The HTTP request.</param>
        /// <exception cref="T:System.ArgumentNullException">The <paramref name="request" /> parameter is null (Nothing in Visual Basic).</exception>
        public static bool IsAjaxRequest(this HttpRequestBase request)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }
            return request["X-Requested-With"] == "XMLHttpRequest" || (request.Headers != null && request.Headers["X-Requested-With"] == "XMLHttpRequest");
        }
    }
}

一直不清楚服务端是如何判断一个请求是否是ajax请求,通过ILSpy查看,才得知是通过判断请求头是否存在

X-Requested-With:XMLHttpRequest  来判断是否是ajax请求。

以上是关于通过http上下文判断是否是Ajax请求的主要内容,如果未能解决你的问题,请参考以下文章

判断一个请求是否为Ajax请求

PHP处理Ajax请求与Ajax跨域

laravel判断HTTP请求是否ajax

java中如何判断发送的请求是不是得到响应

如何判断一个请求是否为AJAX请求

php判断请求类型(ajax|get|post|cli)