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”的,那么上面的判断方法肯定是不适用的,解决办法之一只可以考虑加上这个请求头

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端说吧

关于跨域-学习笔记

2576
来自专栏我的小碗汤

图形验证码实现

954
来自专栏你不就像风一样

JSOUP如何POST只含JSON格式的数据

906
来自专栏张善友的专栏

让Response.Redirect页面重定向更有效率

用 Redirect 方法可将浏览器重定向到另一个 URL,而不是将内容发送给用户。 这里有一篇文章介绍使用Redirect《Using Response.Re...

1966
来自专栏前端小作坊

GA源代码里的小技巧之Beacon请求

GA监控脚本一般都放在开发者的网页上。域名往往和Google不一样,这样发送请求到Google服务器的时候会涉及到跨域。普通的Ajax请求是做不到的,通常称这种...

731
来自专栏自动化测试实战

接口测试基础——第8篇 requests模块

3136
来自专栏Python与爬虫

爬虫入门到精通-网页的下载

本文章属于爬虫入门到精通系统教程第四讲 在爬虫入门到精通第二讲中,我们了解了HTTP协议 http://mp.weixin.qq.com/s?__biz=M...

2685
来自专栏lulianqi

TestTool Part_1

502
来自专栏北京马哥教育

巧用HTTP 响应头部提高 Web 安全性

在 Web 服务器做出响应时,为了提高安全性,在 HTTP 响应头中可以使用的各种响应头字段。 1、X-Frame-Options 该响应头中用于控制是否在浏览...

3277
来自专栏python学习指南

Python爬虫(十七)_糗事百科案例

糗事百科实例 爬取糗事百科段子,假设页面的URL是: http://www.qiushibaike.com/8hr/page/1 要求: 使用requests获...

1919

扫码关注云+社区