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

相关文章

来自专栏吴伟祥

Redis 存储机制 原

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

13220
来自专栏游戏杂谈

强大的网页性能测试工具--Speed Tracer

http://wenku.baidu.com/view/565afd1cc281e53a5802ff08.html

26820
来自专栏格子的个人博客

基于XenServer7.3创建虚拟机和安装系统

惯例唠嗑,既然搭建了虚拟平台,目的肯定是为了安装虚拟机和整合系统服务,XenServer的虚拟机创建和系统安装并不像vSphere来得那么简单(个人觉得),但也...

12430
来自专栏埋名

专门为Github党打造的超级无敌Chrome插件

作为GitHub党,分享一些好用的Chrome插件,帮助增强Github功能。标题名称在Chrome插件商场搜索,即可安装对应的插件。

79930
来自专栏魏艾斯博客www.vpsss.net

DUX 主题 3.0 添加首页置顶文章过程记录

35330
来自专栏崔庆才的专栏

如何搭建一台FTP服务器

由于整个学校相当于一个大型局域网,相互之间传送数据非常快,比如要共享个电影,传点资料什么的。所以我们可以选择搭建一个FTP服务器来共享文件。通过本文给大家说一下...

5.1K00
来自专栏云计算教程系列

如何在Ubuntu 14.04上配置Redis群集

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

7400
来自专栏梦里茶室

【Chromium中文文档】Chrome/Chromium沙箱 - 安全架构设计

安全是Chromium最重要的目标之一。安全的关键在于理解下面这点:在我们完整地理解了系统在所有可能的输入组合下表现出的行为之后,我们才能够真的保证系统安全。对...

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

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

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

55760
来自专栏IT派

用Python实现markdown批量转word文档

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

32530

扫码关注云+社区

领取腾讯云代金券