ajax上传 webapi,让webapi只接受ajax请求

2023-10-26

AjaxOnly继承ActionFilterAttribute,代码如下

public class AjaxOnlyAttribute : ActionFilterAttribute

{

public override void OnActionExecuting(HttpActionContext filterContext)

{

var request = filterContext.Request;

var headers = request.Headers;

if (!headers.Contains("X-Requested-With")

|| headers.GetValues("X-Requested-With").FirstOrDefault() != "XMLHttpRequest")

{

throw new InvalidOperationException("This operation can only be accessed via Ajax requests");

}

else {

base.OnActionExecuting(filterContext);

}

}

}

其中 if (!headers.Contains("X-Requested-With")

|| headers.GetValues("X-Requested-With").FirstOrDefault() != "XMLHttpRequest") 就是判断它是不是ajax请求,如果true则说明不是

如果是controller的话可以用HttpContext.Request.IsAjaxRequest()来判断,webapi的actionContext中不支持IsAjaxRequest

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ajax上传 webapi,让webapi只接受ajax请求 的相关文章

  • 【工具类】工具类中使用@Autowired

    Component public class Util private static String b Autowired private String a PostConstruct public void init b a Compon
  • SQL server删除表信息代码

    SQL server删除表信息代码 1 delete删除 delete from table 只是删除了表中的内容 并没有把表删除 2 drop删除 drop table 表名 把整个表都删除 3 truncate删除 truncate t
  • 通用mybatis执行sql工具系列解决方案lingdu

    整套逻辑可执行保存到数据库中的sql例如 select from a where a name ling name ling name中的name是由前端传入的参数 经过Lingdu类的动态封装 传入到mapper xml中的sql字符串中
  • python 处理hbase数据

    使用Python调用happybase库 1 thrift 是facebook开发并开源的一个二进制通讯中间件 通过thrift 我们可以用Python来操作Hbase 首先开启Hadoop平台的HadoopMaster的thrift服务
  • 使用webpack中的externals配置项如何配置

    externals配置项用于配置那些不需要打包进应用程序中的第三方依赖 在webpack配置文件中 可以使用以下方式配置externals module exports externals jquery jQuery 上面的配置表示jque
  • gdb C++程序coredump不显示行号问题

    编译程序的时候加上 g就可以了 编译出来的程序会大不少 然后再去gdb就能显示行号了 直接就能定位到具体那一行导致的程序coredump
  • 虚拟机下为ubuntu添加硬盘

    1 在Vm中关闭Ubuntu 设置 中 添加新的硬件设备 选择Hard Disk 点击下一步 2 选择硬盘类型 可以选择IDE 或是SCSI 这里选择SCSI 3 选择虚拟新硬盘的位置 命名 Ubuntu2 vmdk 4 设定硬盘大小 随便
  • python解带L1正则的最小二乘

    给定 H R d n H in R d times n
  • 存储卡目录变成未知文件?这些技巧能让你恢复数据!

    当存储卡的目录变成未知文件时 我们无法直接访问存储卡中的数据 但是 这并不意味着这些数据永远无法恢复 以下是几种可能恢复存储卡数据的方法 使用数据恢复软件 从互联网上下载并安装专业的数据恢复软件这些软件可以扫描存储卡 找回已删除或损坏的数据
  • 用MATLAB的GUI绘图的一个简单例子

    本文参考自https jingyan baidu com article 0f5fb099ade1626d8334ead0 html 略加改动 常用MATLAB进行一些计算 使用GUI功能的话调整参数的时候会比较方便 首先在MATLAB中选
  • FCA-FineReport帆软认证报表工程师(FCA)考试考题

    Part 1 判断题 总分 60分 得分 56 第1题 判断题 进行决策系统平台目录管理时 链接的地址可以选择使用相对路径或绝对路径 得分 2分 满分 2分 正确答案 A A 正确 B 错误 第2题 判断题 次级管理员可新建 编辑 删除有权
  • 爬虫的“黄金搭档”---requests库的详细介绍

    什么是requests Requests is an elegant an simple HTTP library for Python Requests是一个优雅而简单的HTTP库 requests库是一个常用的用于http请求的模块 它
  • 转发UGUI事件响应

    示例 点击UI时 被遮挡的UI也响应 using System Collections using System Collections Generic using System Linq using UnityEngine using U
  • SQL之DML

    DML Data Manipulation Language 数据操作语言 用来对数据库中表的数据记录进行增删改操作 insert 添加数据 update 修改数据 delete 删除数据 1 给指定字段添加数据 insert into 表
  • SlideLive:基于Elasticsearch Suggester实现搜索框提示功能

    简介 SlideLive网站使用Elasticsearch作为文档的搜索引擎 我们需要在搜索下拉框实现如下三种功能 自动补全 Auto Completion 纠错 热词推荐 ElasticSearch 为我们提供了Suggester功能 可
  • Hive整理

    文章目录 1 Hive 概述 2 1 Hive 优缺点 2 2 Hive 基础架构 2 HQL 转化为 MR 过程 3 Hive和RDBMS有什么异同 4 Hive 元数据保存方式 5 内部表 和 外部表 6 Hive 如何进行权限控制 7
  • 三年内人人有FIL,FIL 世界零撸板块引发全球流量狂潮!

    FIL 世界零撸板块自5月27日推出以来 就获得了全球Filecoin社区的热烈追捧 在短短一周内就吸引了全球20万粉丝的加盟 引发了全球价值流量狂潮 FIL世界是一个基于Filecoin整个产业链的综合性服务平台 致力于为IPFS行业生态
  • 【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word、Excel、ppt等office文件

    文章目录 TOC 文章目录 方法一 Luckysheet 预览 方法二 Office Web 查看器 微软的开发接口 方法三 XDOC文档预览云服务 预览pdf word xls ppt 方法一 Luckysheet 预览 Luckyshe
  • 服务器系统2022安装wsl2,微软win10子系统wsl2安装教程(附三个实例应用场景)

    wsl2与今年6月份微软buld的大会上发布消息 7月15日左右开始正式加入windows inside版本 熟悉wls win10子系统 一代的都知道 这东西把linux系统的操作直接带入到win10系统 随便启动cmd或powershe

随机推荐

  • 算法设计与分析-分治实验-第二题

    题目 循环赛日程表的设计 设计一个满足以下要求的比赛日程表 n 2k 1 每个选手必须与其他n 1个选手各赛一次 2 每个选手一天只能赛一次 3 循环赛一共进行n 1天 要求 输入选手的数量 需要有效性检查 满足n 2k条件 以矩阵形式输出
  • 【PCIe】Linux下PCIe驱动开发与学习

    目录 1 PCIe概述 2 pcie总线的拓扑结构 3 PCIe配置空间 3 1 PCI标准配置空间头 0 64 bytes 3 2 PCI capbility结构 64
  • 成功是一种境界

    第1节 完成三十岁前的积累 准备做一个成功的男人 1 Chapter Six 完成三十岁前的积累 准备做一个成功的男人 二十几岁是褪尽青涩 走向成熟的男人 二十几岁是很有紧迫感的年龄 如果男人到了三十还一事无成 人们就不再像对二十几岁时那样
  • 2.5 Java方法调用——类名调用方法、对象调用方法

    文章目录 方法 1 什么是方法 2 方法如何定义 方法怎么使用 通过类名调用方法 static 修饰方法 类名调用 通过对象调用方法 不加static修饰 new一个对象 对象调用 方法 1 什么是方法 类似于C语言中的函数 解决某一个问题
  • static_cast与dynamic_cast转换

    一 C语言中存在着两种类型转换 隐式转换和显式转换 隐式转换 不同数据类型之间赋值和运算 函数调用传递参数 编译器完成 char ch int i ch 显示转换 在类型前增加 Type 变量 对变量进行的转换 用户显式增加 char pc
  • 无法将值vmware-tray.exe写入注册表

    VMWare更新时候遇到问题 出现 无法将值vmware tray exe写入注册表 提醒 百度后发现各个帖子采用禁用账户的方法 完美的解决方案是 直接关掉所有杀毒软件
  • Java文件读写IO/NIO及性能比较总结

    干Java这么久 一直在做WEB相关的项目 一些基础类差不多都已经忘记 经常想得捡起 但总是因为一些原因 不能如愿 其实不是没有时间 只是有些时候疲于总结 今得空 下定决心将丢掉的都给捡起来 文件读写是一个在项目中经常遇到的工作 有些时候是
  • org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document fro

    org springframework beans factory BeanDefinitionStoreException IOException parsing XML document from class path resource
  • matlab人工神经网络如何使用,MATLAB的人工神经网络应用

    一 人工神经网络简介 人工神经网络 Artifical NeuralNetwork ANN 是目前国际上迅速发展的前沿交叉学科 张立明 1993 它是模仿生物神经系统的信息处理方式 组织结构和系统功能的简化系统 人工神经网络以其自身的自组织
  • 关于pytorch加载预训练模型的一些知识点

    一 用pytorch加载预训练模型默认存储路径 本机CPU C Users asus cache torch hub checkpoints 服务器GPU home xxx cache torch hub checkpoints 二 常用预
  • Python简单编程复习

    Python简单编程复习 1 计算1 2 3 100 total 0 i 1 while i lt 100 total i i 1 print total 2 编写程序 要求用户从键盘输入若干整数 输出它们的和 print 请输入若干整数
  • C++之STL——String字符序列类(1)

    目录 前言 String类 1 该类的由来 2 String类对象的创建 1 头文件 2 类对象的创建 其他用法 3 String类对象遍历 1 方括号 重载遍历 2 范围for遍历 3 迭代器遍历 总结 前言 在学习 C语言的过程中 我们
  • 《程序员做饭指南》霸榜 GitHub:不仅有量筒、烧杯,还用上了数学公式?

    对于 GitHub 相信绝大多数程序员都再熟悉不过了 作为目前全球最大的开源软件存储库 GitHub 托管了大量的软件代码 无数开源爱好者聚集于此 也有很多程序员会利用每天的空 摸 闲 鱼 时间逛一逛 GitHub 以此了解最近的热门项目和
  • 解决pandas用in判断结果错误的问题

    问题解析 对于一个series import pandas as pd date series pd Series pd date range 2020 01 01 periods 100 如下的判断会返回False pd to datet
  • 简单的视频剪辑教程:使用win10自带的工具剪切和合并视频

    剪切视频 右键视频文件以 照片 的方式打开视频 如同 点击右上角的编辑 如下图 选择 剪裁 进度条会看到绿球和白球 绿球是当前视频播放的位置 进度条两端都有白球 白球内进度条是要保存的视频 如下图是保存的视频 之后把文件保存 合并视频 找到
  • python dialog使用_dialog的使用方法

    dialog的使用方法 发布时间 2020 06 03 14 09 01 来源 亿速云 阅读 563 作者 Leah 今天小编给大家分享的是dialog的使用方法的介绍 相信大部分人都不太了解 为了让大家更加了解 小编给大家总结了以下内容
  • 1.5 起步 - 安装 Git

    1 5 起步 安装 Git 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 19 初稿 目录 文章目录 1 5 起步 安装 Git 版本说明 目录 安装 Git 1 在 Linux 上安装 2 在 Mac 上安装 Figu
  • struct iphdr IP头部与tcphdr tcp头部与linux中的struct IP IP头部

    struct iphdr IP头部 sk buff gt iphdr usr src linux 2 6 19 include linux ip h struct iphdr if defined LITTLE ENDIAN BITFIEL
  • 用Process Explorer分析进程各个线程CPU占用率

    使用Process Explorer可以很方便查看某个进程各个线程的CPU占用率 可以为排查问题提供帮助 我使用的Process Explorer版本是v16 21 64bit 使用VS 2008创建一个MFC对话框程序 在代码中创建两个线
  • ajax上传 webapi,让webapi只接受ajax请求

    AjaxOnly继承ActionFilterAttribute 代码如下 public class AjaxOnlyAttribute ActionFilterAttribute public override void OnActionE