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

判断AJAX请求
本文介绍了一种通过检查HTTP请求头部的X-Requested-With字段来确定请求是否为AJAX请求的方法,并提供了具体的C#实现代码。
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请求。

转载于:https://www.cnblogs.com/tangchun/p/9121334.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值