近日,在工作的过程中用到 ajaxSetup,总结一下:
1、使用的目的:我的目的是需要在后台判断请求是不是 ajax 请求,如果是 ajax 请求,给他设置一个参数,设置完成后,在前台的 js 页面里,用 ajaxSetup全局变量去接收这个参数,然后在前台js中跳转到一个指定的页面(之所以不在后台跳转是因为 ajax 请求在后台不能重定向).
2、代码如下:
后台代码: //判断当前请求是不是ajax请求
String requestType = httpRequest.getHeader("X-Requested-With");
if(requestType!=null&&requestType.equals("XMLHttpRequest")){
httpResponse.setHeader("status", "true");
logger.info("当前请求为 AJAX请求“);
}
前台代码:
jQuery(document).ready(function() {
jQuery.ajaxSetup({
timeout: 3000,
dataType: 'html',
complete: function (XMLHttpRequest, textStatus) {
var status = XMLHttpRequest.getResponseHeader("status"); // 通过XMLHttpRequest取得响应头,status,
if (status == "true") {
// 如果接收到时ajax请求的响应,就跳转到某个实际存在的页面
window.location.replace("XXXXXXXXXXXXXXX/jsp/indexRedirect.jsp");
}
}
});
});