今天做Spring MVC异常统一处理这块,在处理的时候需要区分发送过来的请求是传统请求还是ajax请求,网上有现成的代码,我是参考http://www.2cto.com/kf/201412/364393.html 里面的做法。其中的

if (!( request.getHeader("accept").indexOf("application/json") > -1 || ( request
                    .getHeader("X-Requested-With") != null && request
                    .getHeader("X-Requested-With").indexOf("XMLHttpRequest") > -1 ) ))

段代码是判断请求类型的代码,但是经过反复的测试发现(用goole 、火狐、360浏览器测试)现在的浏览器传统的请求也会发送 X-Requested-With 请求头,所以以上代码判断结果不能真正区分传统请求还是ajax请求。至于如何区分由于本人的能力有限还没想出来(上网查了一下,基本上都是通过以上方法区分的)

转载于:https://blog.51cto.com/8931565/1793559

关于 x-requested-with 请求头 区分ajax请求还是普通请求相关推荐

  1. x-requested-with 请求头 区分ajax请求还是普通请求

    在服务器端判断request来自Ajax请求(异步)还是传统请求(同步): 两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数 1.传统同步请求参数 accept  t ...

  2. x-requested-with 请求头 区分ajax请求还是普通请求

    在服务器端判断request来自Ajax请求(异步)还是传统请求(同步): 两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数 1.传统同步请求参数 accept  t ...

  3. 爬虫实战学习笔记_6 网络请求request模块:基本请求方式+设置请求头+获取cookies+模拟登陆+会话请求+验证请求+上传文件+超时异常

    1 requests requests是Python中实现HTTP请求的一种方式,requests是第三方模块,该模块在实现HTTP请求时要比urlib.urllib3模块简化很多,操作更加人性化. ...

  4. python 请求头_Python爬虫:将headers请求头字符串转为字典

    第一种方法 如上图所示,然后复制粘贴到pycharm里,存放到字典里 然后使用ctrl+r快捷键打开替换功能,并勾选Regex 替换源为:(.?): (.?)$ 替换为:"$1": ...

  5. ajax请求,请求头是provisional are shown。请求未发送出去

    问题: ajax请求,请求没成功.ajax请求没有发送出去. 查看network,看到请求头处:Provisional headers are shown. 原因: 搜索了一下,网上说了几个原因. 1 ...

  6. ios 请求头设置token_HTTP中的OPTIONS请求

    前言 http请求之前已经接触了很多,但是这个options请求我还是第一次,刚来到公司的时候进行调试,发现NetWork里,每个请求在发出之前都会先发送一个options请求,第二个才是正常的请求. ...

  7. ajax 跨域请求数据,JQuery Ajax执行跨域请求数据的解决方案

    JQuery Ajax执行跨域请求数据的解决方案 今天前端因为需要ajax调用两个不同的项目,请求域不一样,所以涉及ajax跨域的问题 ,其实很简单,具体如下 原来的ajax请求如下: $.ajax( ...

  8. vue拦截器设置请求头失败,laravel设置前端请求头跨域

    前端同事在vue的request里面的拦截器中设置请求头,发现'Authorization'可以正常添加到请求头,可以正常访问,但是添加其他的如'browserVersion'参数就不行, 会出现Re ...

  9. 请求消息详解(请求头、get、post、请求体)

    简述 我们在servlet的service方法中有两个参数,分别是ServletRequest和ServletResponse,如果想掌握这两个参数,我们必须对请求消息和响应消息有个深入的理解. 请求 ...

最新文章

  1. 用 Flask 来写个轻博客 (21) — 结合 reCAPTCHA 验证码实现用户注册与登录
  2. 计算机动漫设计VR主要学什么,动漫设计专业学什么 要学什么软件
  3. 矩阵乘法递推的优化艺术
  4. 深入浅出理解 Spark:环境部署与工作原理
  5. [Apache]安装中出现的问题
  6. 死磕18个Java8日期处理,工作必用!收藏起来~
  7. python 释放链表节点_redis:链表
  8. Linux内核workqueue
  9. 设置只能查看一条_苹果手机QQ又一次更新 可分屏查看文件
  10. C#中5中timer的比较
  11. 无线充QI协议之TX与RX通讯方式篇
  12. 设置服务器网站播放flv视频文件,网页制作 flvplayer.swf无法播放服务器上flv文件 如何设置...
  13. Java实现PPT转化为PDF
  14. Flash选择合适的稳压芯片
  15. java 实心圆_java JFrame窗口中画一个实心圆并设置背景颜色,但背景不显示,级求解!!...
  16. win10专业版使用vmware安装虚拟机时“出现此主机支持Intel VT-x,但Intel VT-x处于禁用状态”。
  17. html内边距的顺序,html中内边距和外边距之间的区别是什么? - 收获啦
  18. 结束计算机进程的快捷键,结束进程快捷键在哪 电脑结束进程快捷键操作方法...
  19. np.c_ 对比 np.r_
  20. 正大国际:做期货交易的方法

热门文章

  1. Objective-c的@property 详解
  2. Mysql:命令选项、配置选项、(全局、会话)系统变量、状态变量:命令选项...
  3. mysql installer图解_MySQL Installer GUI - 图解
  4. 最新的10个优质Python开源项目
  5. Python爬虫之urllib和requests哪个好用--urllib和requests的区别
  6. 了解下C# 类(Class)
  7. 简单探讨隐私增强技术的类型和用途
  8. 巩固好基础,才能学好Linux
  9. C++ 中 inline 用法概述
  10. Webpack中Loader和Plugin的区别和编写思路