文档章节

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

Corwien
 Corwien
发布于 2016/04/13 10:38
字数 253
阅读 125
收藏 1

      在服务器端判断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  XXX

    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  xxx

    x-requested-with  XMLHttpRequest  //表明是AJax异步
    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 异步请求。


本文转载自:http://www.cnblogs.com/tony-jingzhou/archive/2012/07/30/2615612.html

共有 人打赏支持
Corwien
粉丝 27
博文 149
码字总数 115164
作品 0
广州
程序员
私信 提问
ajax请求与传统http请求区分

关键是看http请求头(header)信息中的 x-requested-with 信息项是否有无,如果无该头信息项,取出的是未定义的值,即null,则说明是传统请求;如果存在该头信息项,值是XMLHttpRequest 则说...

hello菜bird
2015/12/29
421
0
PHP判断一个请求是Ajax请求还是普通请求

Javascript中大多数的框架如 jquery(jquery ui、jquery easyui)、Mootools 等,在发出 Ajax 请求时,都会发送额外的 HTTPXREQUESTED_WITH 头部信息,因此每当发送一个ajax请求你就可以在服务...

Junn
2013/08/05
0
1
Ajax Session Timeout处理

对于session过期跳转的问题,很简单,就是一个过滤器,然后判断session为空?跳转:继续。但是对于ajax的请求,需要做特殊处理,见下面代码中的 // 此处考虑ajax操作session过期的操作,如果...

lgscofield
2014/07/01
0
1
使用XMLHttpRequest执行Ajax请求

昨天,一个朋友,问我一个问题: 通过查找网络资源,发现在服务器端识别Ajax请求和一般请求的的方法。大部分说到,通过http请求头中X-Requested-With的值来区分。如此,朋友通过如下代码执行...

艳沐石
2013/07/26
0
0
PHP判断ajax请求:HTTP_X_REQUESTED_WITH

有时我们需要判断是不是ajax请求来决定模块输出还是json格式输出. PHP判断ajax请求的原理: 在发送ajax请求的时候,我们可以通过XMLHttpRequest这个对象,创建自定义的header头信息, 在jquer...

鬼方赤命
2016/11/22
31
0

没有更多内容

加载失败,请刷新页面

加载更多

Java中前台接收后台List数据并循环打印

在Java后端获取到了数据,然后我们需要传到前端页面展现出来。 方法有两种: 方法一: 后端: request.setAttribute("list",list); 前端: <%ArrayList list = (ArrayList) request.get...

小_橙_子
7分钟前
0
0
Java:字节流和字符流(输入流和输出流)

什么是流 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互...

编程SHA
7分钟前
0
0
zookeeper收尾+dubbo前瞻

zookeeper是一个开源的分布式协调框架:数据发布订阅,负载均衡,集群,master选举。 原子性:要么同时成功,要么同是失败(分布式事务) 单一视图:无论客户端连接到哪个服务器,所看到的模...

微笑向暖wx
7分钟前
0
0
oracle11g 修改字符集 修改为ZHS16GBK

oracle11g 修改字符集 修改为ZHS16GBK 1.cmd下,cd到oracle数据库软件的服务器端 如:D:\app\Administrator\product\11.2.0\dbhome_1\BIN 2.输入set ORACLE_SID=你想进入的数据库的那个sid 3...

xiaoxin
8分钟前
0
0
图片缓存

Kxvz
9分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部