- 浏览: 576619 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
很多用到AJAX请求,如何区别一个请求是传统的HTTP请求?还是Ajax请求?网上有很多,这里记录一下,方便以后直接查看,懒人计划,
关键是看http请求头(header)信息中的 x-requested-with 信息项是否有无,如果无该头信息项,取出的是未定义的值,即null,则说明是传统请求;如果存在该头信息项,值是XMLHttpRequest 则说明是Ajax请求;
在JAVA WEB项目,比如在Server端的JSP中判断如下:
转自:http://blog.csdn.net/shenzhennba/article/details/9235373
转自:http://bbs.csdn.net/topics/370168085
关键是看http请求头(header)信息中的 x-requested-with 信息项是否有无,如果无该头信息项,取出的是未定义的值,即null,则说明是传统请求;如果存在该头信息项,值是XMLHttpRequest 则说明是Ajax请求;
在JAVA WEB项目,比如在Server端的JSP中判断如下:
if (request.getHeader("x-requested-with") != null && request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) { out.print("该请求是 AJAX 异步HTTP请求。"); }else{ out.print("该请求是传统的 同步HTTP请求。"); }
转自:http://blog.csdn.net/shenzhennba/article/details/9235373
引用
在服务器端判断request来自Ajax请求(异步)还是传统请求(同步):
两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数
1、传统同步请求参数
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-charset gb2312,utf-8;q=0.7,*;q=0.7
accept-encoding gzip,deflate
accept-language zh-cn,zh;q=0.5
cache-control max-age=0
connection keep-alive
cookie JSESSIONID=1A3BED3F593EA9747C9FDA16D309AF6B
host 192.168.101.72:8080
keep-alive 300
referer http://192.168.101.72:8080/htfsweb/spring_security_login
user-agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)
2、Ajax 异步请求方式
accept */*
accept-language zh-cn
referer http://192.168.101.72:8080/scm/?token=3b194bff23bf6acecea5661ac8e14c51
x-requested-with XMLHttpRequest
content-type application/x-www-form-urlencoded,text/javascript
accept-encoding gzip, deflate
user-agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; QQDownload 598; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)
host 192.168.101.72:8080
content-length 233
connection Keep-Alive
cache-control no-cache
cookie CSS=undefined; JSESSIONID=1B9AC25036290F7FB6823CCE1A24E541
可以看到 Ajax 请求多了个 x-requested-with ,可以利用它,request.getHeader("x-requested-with"); 为 null,则为传统同步请求,为 XMLHttpRequest,则为 Ajax 异步请求。
两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数
1、传统同步请求参数
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-charset gb2312,utf-8;q=0.7,*;q=0.7
accept-encoding gzip,deflate
accept-language zh-cn,zh;q=0.5
cache-control max-age=0
connection keep-alive
cookie JSESSIONID=1A3BED3F593EA9747C9FDA16D309AF6B
host 192.168.101.72:8080
keep-alive 300
referer http://192.168.101.72:8080/htfsweb/spring_security_login
user-agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)
2、Ajax 异步请求方式
accept */*
accept-language zh-cn
referer http://192.168.101.72:8080/scm/?token=3b194bff23bf6acecea5661ac8e14c51
x-requested-with XMLHttpRequest
content-type application/x-www-form-urlencoded,text/javascript
accept-encoding gzip, deflate
user-agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; QQDownload 598; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)
host 192.168.101.72:8080
content-length 233
connection Keep-Alive
cache-control no-cache
cookie CSS=undefined; JSESSIONID=1B9AC25036290F7FB6823CCE1A24E541
可以看到 Ajax 请求多了个 x-requested-with ,可以利用它,request.getHeader("x-requested-with"); 为 null,则为传统同步请求,为 XMLHttpRequest,则为 Ajax 异步请求。
引用
x-requested-with XMLHttpRequest是Ajax 异步请求方式
使用
request.getHeader("x-requested-with");
为 null,则为传统同步请求;
为 XMLHttpRequest,则为 Ajax 异步请求。
使用
request.getHeader("x-requested-with");
为 null,则为传统同步请求;
为 XMLHttpRequest,则为 Ajax 异步请求。
转自:http://bbs.csdn.net/topics/370168085
发表评论
-
解决 CSDN 登录后才能复制的功能
2022-01-10 18:02 928javascript:document.body.conten ... -
Flutter和RN对比
2021-10-22 11:33 309Flutter和RN对比 Flutter介绍和主流框架的对比 ... -
window.opener引用为null的解决办法
2021-03-14 14:15 1912http://www.bubuko.com/infodetai ... -
layui select下拉框改变之 change 监听事件
2019-04-10 10:21 748https://blog.csdn.net/weixin_36 ... -
如何和何时使用CSS的!important
2019-04-09 20:45 313https://www.w3cplus.com/css/the ... -
<iframe>标签自适应高度和宽度
2018-04-22 13:06 320引用 <iframe src="index.h ... -
jMessageBox
2017-04-23 16:35 353http://www.thinksaas.cn/topics/ ... -
ajax跨域访问
2017-03-13 07:29 512No 'Access-Control-Allow-Origin ... -
完美Email验证正则表达式
2016-10-12 10:17 745际域名格式如下: 域名由各国文字的特定字符集、英文字母、数字 ... -
browserWindows.js
2016-10-10 09:28 118/****************************** ... -
KO框架
2016-09-19 08:54 946http://knockoutjs.com/documenta ... -
js如何监听用户的刷新操作
2016-08-04 11:18 908只监听用户用F5刷新 检测F5的keypress keydow ... -
js两种定义函数、继承方式及区别
2016-07-12 10:11 441一:js两种定义函数的方式及区别 1:函数声明: funct ... -
表单校验组件ValidForm 一
2016-07-06 09:43 163910.表单校验组件ValidForm 10.1使用入门 1、引 ... -
表单校验组件ValidForm 二
2016-07-06 09:38 107910.4Validform对象[方法支 ... -
JS中的!=、== 、!==、===的用法和区别
2016-07-06 08:59 338var num = 1; var str = '1'; ... -
javascript记住用户名和登录密码(两种方式)
2016-07-06 08:53 3173下面主要通过代码给大 ... -
window.returnValue的用法
2016-07-04 10:27 415returnValue是javascript中html的win ... -
深入学习JavaScript: apply 方法 详解(转)——非常好
2016-07-04 10:03 307我在一开始看到javascript的函数apply和call时 ... -
正则表达式验证中文
2016-06-13 15:24 761在实际开发过程中,我们可能经常会遇到需要判断一个字符是否是汉字 ...
相关推荐
X-Requested-With常用于判断是不是ajax请求 但是有时我们会有需要删除X-Requested-With的情况 下面介绍一种方式 js代码 代码如下: $.ajax({ url: ‘http://www.zhangruifeng.com’, beforeSend: function( xhr ) { ...
受到很多模版代码的影响,大家都以为php有这样一个自定义变量:$_SERVER[‘HTTP_X_REQUESTED_WITH’]. 其实根本不是那么回事. $_SERVER是一个包含诸如头信息(header),路径(path)和脚本位置(script locations)的数组.这...
jQuery 发出 ajax 请求时,会在请求头部添加一个名为 X-Requested-With 的信息,信息内容为:XMLHttpRequest 在后端可以使用 $_SERVER[“HTTP_X_REQUESTED_WITH”] 来获取。(注意:中划线换成了下划线,不区分大小...
关于这个内容,很多人都有所了解.但从我搜索的内容来看,他们只是略微看一下,根本不知道里面到底是什么情况.
jRaiser 1.3.4 wath's new: 在$.util.parseTpl中添加容错处理,当模板为null时返回undefined,当values为空时返回模板内容。 优化了各种样式操作。... 在$.ajax.send的Ajax请求中增加X-Requested-With的header。
一直以为AJAX跨域是无法逾越的鸿沟,最近发现原来在服务端可以通过发送header信息来允许AJAX跨域请求。 PHP代码示例: 代码如下: header(‘Access-Control-Allow-Origin:*’); header(‘Access-Control-Allow-...
在发送ajax请求的时候,可以通过XMLHttpRequest这个对象,创建自定义的header头信息, 在jquery框架中,对于通过它的$.ajax, $.get, 或者$.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_...
本文实例讲述了php检查是否是ajax请求的方法。分享给大家供大家参考。具体如下: 通过这段代码可以判断用户的请求是否来自AJAX XMLHttpRequest,以区别普通post,get和ajax function isAjax() { return (isset($_...
现在vue的官方包已经不更新vue-resource了,转而推荐axios,下面是项目实战是总结的axios插件设置: /** * @file Axios的Vue插件(添加全局请求/响应... config.headers['X-Requested-With'] = 'XMLHttpRequest' ret
如果是ajax请求,以下表达式的值为真 $_SERVER[“HTTP_X_REQUESTED_WITH”]==”XMLHttpRequest” 就是一个PHP的环境变量。 您可能感兴趣的文章:php+ajax实现无刷新动态加载数据技术php采用ajax数据提交post与post...
文章目录headersRequestresponse headers 为了让程序请求模仿的更像浏览器,需要在headers请求头上添加一些参数 headers请求头的部分重要参数: ...x-requested-with :XMLHttpRequest (是Ajax 异步请求)
0 : ($_SERVER['REQUEST_METHOD'] == ‘GET’ && $_SERVER['HTTP_X_REQUESTED_WITH'] == ‘XMLHttpRequest’ || $_SERVER['REQUEST_METHOD'] == ‘POST’ ? 1 : 0); //页码 $this->var['page'] = empty($this->var...