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 条评论
登录 后参与评论

相关文章

来自专栏IT派

用Python实现markdown批量转word文档

这两天发现了一个可以将markdown快速转为word格式的小工具pandoc, 非常好用, 比如我有一个名为Python资料.md的文件, 我只需在命令行运行

1863
来自专栏开发与安全

使用 github, gitbook, markdown 写博客/写书

        Github 是基于 开源代码管理工具 Git 的一个代码托管平台。Gitbook 是一个命令行工具,可以把你的 Markdown 文件汇集成电...

3960
来自专栏地方网络工作室的专栏

打造前端 Deepin Linux 工作环境——系统设置以及安装软件

打造前端 Deepin Linux 工作环境——系统设置以及安装软件 系统的基本设置 由于 deepin 系统做得太多,以至于,我们常见的在 linux 上要进...

4386
来自专栏散尽浮华

Linux下日志文件监控系统Logwatch的使用记录

在维护Linux服务器时,经常需要查看系统中各种服务的日志,以检查服务器的运行状态,如登陆历史、邮件、软件安装等日志。作为运维人员,我们一个个去检查会十分不方便...

40910
来自专栏云计算教程系列

如何在CentOS 7上配置Redis群集

Redis是一个开源键值数据存储,使用内存存储模型和可选的磁盘写入来实现持久性。它具有事务,发布/订阅和自动故障转移等功能。建议将Redis与Linux一起用于...

1110
来自专栏吴伟祥

Redis 存储机制 原

Redis(REmote DIctionary Server) 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

882
来自专栏我的博客

服务器出现500错误,排查总结

今天刚刚建立的web服务器,访问的时候出现500错误。 错误代码详解:http://www.0377joyous.com/archives/572.html 首...

4739
来自专栏云计算教程系列

如何在Ubuntu 14.04上配置Redis群集

Redis是一个开源键值数据存储,使用内存存储模型和可选的磁盘写入来实现持久性。它具有事务,发布/订阅和自动故障转移等功能。建议将Redis与Linux一起用于...

450
来自专栏别先生

LICEcap方便快捷制作gif图片的工具

总是看见别人的博客里面动态的小图片,是不是有种冲动自己也想搞,但是就是不知道咋搞,这里简单介绍一款很实用的制作gif的软件. LICEcap的网址:http:/...

2137
来自专栏zaking's

走近webpack(1)--多入口及devServer的使用

  上一篇文章留下了一些问题,如果你没看过上一篇文章,可以在我的博客里查找,或者直接从这篇文章开始也是没问题的。  const path = require('...

2875

扫码关注云+社区