ASP.NET Core 判断请求是否为Ajax请求

我们可以通过HTTP请求头来判断是否为Ajax请求,Ajax请求的request headers里都会有一个key为x-requested-with,值为XMLHttpRequest的header

所以我们可以添加一个扩展方法:

public static bool IsAjax(this HttpRequest req)
{
    bool result = false;

    var xreq = req.Headers.ContainsKey("x-requested-with");
    if (xreq)
    {
        result = req.Headers["x-requested-with"] == "XMLHttpRequest";
    }

    return result;
}

调用的时候直接 Request.IsAjax(); 就行了

Request为 HttpRequest 对象实例

如果你使用的前端框架不是Jquery之类的在ajax请求上带了头“x-requested-with”的,那么上面的判断方法肯定是不适用的,解决办法之一只可以考虑加上这个请求头

posted @ 2018-04-14 14:32  晓晨Master  阅读(5567)  评论(1编辑  收藏  举报