`
wandejun1012
  • 浏览: 2720314 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

X-Requested-With

    博客分类:
  • ajax
 
阅读更多

 

ajax的请求和普通的http请求,在header里面多了个参数X-Requested-With

 

所以可以根据这个来区分。

 

 X-Requested-With请求头用于在服务器端判断request来自Ajax请求还是传统请求。

     两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数

  

       1  传统同步请求参数

    accept  text/html,application/xhtml+xml,application/xml;q=0.9,**
    accept-language  zh-cn
    referer  xxx

    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
    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")
     
              bool isAjax = null;
              String header = request.getHeader("X-Requested-With");
              if(null != header && header.equals("XMLHttpRequest"))
             {
                       isAjax = true;
             }

           可以看到header为null则为传统同步请求。若为XMLHttpRequest则为Ajax请求。

 

 

refurl:http://woshixy.blog.51cto.com/5637578/976695

 

 

分享到:
评论

相关推荐

    如何从jQuery的ajax请求中删除X-Requested-With

    X-Requested-With常用于判断是不是ajax请求 但是有时我们会有需要删除X-Requested-With的情况 下面介绍一种方式 js代码 代码如下: $.ajax({ url: ‘http://www.zhangruifeng.com’, beforeSend: function( xhr ) { ...

    服务器端判断Ajax请求

    通常情况下,Ajax请求会包含一个特殊的标头`X-Requested-With`,其值通常设置为`XMLHttpRequest`,以此标识这是一个Ajax请求。 #### 示例请求头对比 - **传统请求示例**: - `Accept`: `text/html,application/...

    XMLHttpRequest对象

    XMLHttpRequest对象 深入理解 XMLHttpRequest对象

    nginx-1.15.10.zip

    add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS; if ($request_method = 'OPTIONS') { return 204; } } }

    完美解决跨域问题和静态资源冲突的demo(png图片)

    response.setHeader("Access-Control-Allow-Headers", "Origin,X-Requested-With,Content-Type,Accept,Authorization,token"); // System.out.println("*********************************过滤器被使用************...

    xpack破解.txt

    - **CORS允许的头**: `http.cors.allow-headers:Authorization,X-Requested-With,Content-Length,Content-Type`。指定哪些HTTP头部字段可以被客户端访问。 - **CORS允许的来源**: `http.cors.allow-origin:/.*/`。...

    tomcat解决跨域访问问题配置

    <param-value>token,Access-Control-Allow-Origin,Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value> --> <param-value>Access-Control...

    AJAX 请求区分 $_SERVER['HTTP_X_REQUESTED_WITH'] 小解

    `$_SERVER['HTTP_X_REQUESTED_WITH']` 是一个在 PHP 中常见的用来识别 AJAX(Asynchronous JavaScript and XML)请求的变量。然而,很多人对这个变量的理解并不深入,常常将其误认为是 PHP 内置的自定义变量,而实际...

    java-property-utils-1.9.1等.zip

    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> </init-param> <init-param> <param-name>cors.exposedHeaders</param-name> <param-value>Set-Cookie</param...

    Shiro权限控制-区分Ajax请求

    在这个方法里,我们需要检查请求头部的`X-Requested-With`字段,如果是Ajax请求,则返回一个JSON响应表示权限不足;如果不是,则按照原有方式重定向到无权限页面。 #### 三、区分Ajax实现 ##### 3.1 定义一个过滤...

    tomcat跨域文件下载和教程

    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> </init-param> <init-param> <param-name>cors.exposedHeaders</param-name> <param-value>Set-Cookie</param...

    ThinkPHP的success并不跳转页面,而是直接输出json字符串的原因.zip解决ThinkPHP的success并不跳转页面,而是直接输出json字符

    如果设置了`ajax=1`,或者在请求头中设置了`X-Requested-With: XMLHttpRequest`,服务器会识别这是一个AJAX请求,因此`success`方法会按照预期返回JSON数据,而非执行页面跳转。 在ThinkPHP中,如果你希望在非AJAX...

    iis日志分析查看工具

    cs(Keep-Alive) cs(Proxy-Authorization) cs(Proxy-Connection) cs TE cs(User-Agent) cs(Upgrade) cs(Via) cs(Waiting-For) cs(X-AspNet-Version) cs(X-AspNetMvc-Version) cs(X-Powered-By) cs(X-Requested-With) ...

    tomcat跨域请求配置

    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> </init-param> <init-param> <param-name>cors.exposedHeaders</param-name> <param-value>Set-Cookie</param-...

    nginx配置解决前后端的跨越问题

    add_header Access-Control-Allow-Headers 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; if ($request_method = 'OPTIONS') { add_header '...

    arcgis api for js 4.x 在tomcat离线部署后,跨域访问问题

    <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value> </init-param> <filter-mapping> <filter-name>CorsFilter</filter-...

    rustdesk远控软件自建节点服务器+API服务器+WEB客户端

    <meta http-equiv="Access-Control-Allow-Headers" content="X-Requested-With,Content-Type,Authorization" /> <meta http-equiv="Access-Control-Allow-Methods" content="post" /> ``` 2. 在 API 接口的文件 ...

    20181022-聚合支付API在线文档1

    - `X-Requested-With`通常用于标识AJAX请求。 4. **响应格式**: - 包含了通讯状态(state)和状态码(code)等关键字段,用于判断请求是否成功以及具体错误信息。 - 其他响应字段可能包括交易金额、订单号、用户...

    实现跨域的JAR包

    <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> </init-param> <init-param> <param-name>cors.exposedHeaders</param-name> <param-value>Set-Cookie</param...

Global site tag (gtag.js) - Google Analytics