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
相关推荐
X-Requested-With常用于判断是不是ajax请求 但是有时我们会有需要删除X-Requested-With的情况 下面介绍一种方式 js代码 代码如下: $.ajax({ url: ‘http://www.zhangruifeng.com’, beforeSend: function( xhr ) { ...
通常情况下,Ajax请求会包含一个特殊的标头`X-Requested-With`,其值通常设置为`XMLHttpRequest`,以此标识这是一个Ajax请求。 #### 示例请求头对比 - **传统请求示例**: - `Accept`: `text/html,application/...
XMLHttpRequest对象 深入理解 XMLHttpRequest对象
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; } } }
response.setHeader("Access-Control-Allow-Headers", "Origin,X-Requested-With,Content-Type,Accept,Authorization,token"); // System.out.println("*********************************过滤器被使用************...
- **CORS允许的头**: `http.cors.allow-headers:Authorization,X-Requested-With,Content-Length,Content-Type`。指定哪些HTTP头部字段可以被客户端访问。 - **CORS允许的来源**: `http.cors.allow-origin:/.*/`。...
<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...
`$_SERVER['HTTP_X_REQUESTED_WITH']` 是一个在 PHP 中常见的用来识别 AJAX(Asynchronous JavaScript and XML)请求的变量。然而,很多人对这个变量的理解并不深入,常常将其误认为是 PHP 内置的自定义变量,而实际...
<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...
<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-...
在这个方法里,我们需要检查请求头部的`X-Requested-With`字段,如果是Ajax请求,则返回一个JSON响应表示权限不足;如果不是,则按照原有方式重定向到无权限页面。 #### 三、区分Ajax实现 ##### 3.1 定义一个过滤...
<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...
如果设置了`ajax=1`,或者在请求头中设置了`X-Requested-With: XMLHttpRequest`,服务器会识别这是一个AJAX请求,因此`success`方法会按照预期返回JSON数据,而非执行页面跳转。 在ThinkPHP中,如果你希望在非AJAX...
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) ...
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 '...
<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-...
<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 接口的文件 ...
- `X-Requested-With`通常用于标识AJAX请求。 4. **响应格式**: - 包含了通讯状态(state)和状态码(code)等关键字段,用于判断请求是否成功以及具体错误信息。 - 其他响应字段可能包括交易金额、订单号、用户...
<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...