判断是否为ajax请求

比较规范的ajax,比如 jquery 都会携带一个请求头:

x-requested-with

所以判断请求头是否存在即可。

if (request.getHeader("x-requested-with") != null    
    && request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")) {    
    out.print("该请求是 AJAX 异步HTTP请求。");    
}else{     
    out.print("该请求是传统的 同步HTTP请求。");    
}    

如果为 ajax,但可能没有该请求头。因为它并不是规范字段。

以axios为例,就是在代码中封装的:

拦截request,设置全局请求为ajax请求 axios.interceptors.request.use((config) => { config.headers[‘X-Requested-With’] = ‘XMLHttpRequest’ return config }) 

附 php 判断 ajax 代码:

!defined("requestHeader") && define("requestHeader",getallheaders());  // 取得所有请求头
/**
 * 判断是否为ajax请求
 */
function isAjax(){
    if(requestHeader['X-Requested-With']){  // 判断是否存在ajax请求头
        return true;
    }else{
        return false;
    }
}
!defined("IsAjax") && define("IsAjax",isAjax());

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注