失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php 请求拦截 解决拦截器对ajax请求的拦截实例详解

php 请求拦截 解决拦截器对ajax请求的拦截实例详解

时间:2022-06-11 08:02:10

相关推荐

php 请求拦截 解决拦截器对ajax请求的拦截实例详解

解决拦截器对ajax请求的的拦截

拦截器配置:public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object obj) throws Exception {

//获取判定登陆的session是否存在

String token = (String) request.getSession().getAttribute("token");

String postId = (String) request.getSession().getAttribute("postId");

if(token == null || token == ""){

String XRequested =request.getHeader("X-Requested-With");

if("XMLHttpRequest".equals(XRequested)){

response.getWriter().write("IsAjax");

}else{

response.sendRedirect("/m-web/user/toLogin");

}

return false;

}

if(postId == null || postId == ""){

String XRequested =request.getHeader("X-Requested-With");

if("XMLHttpRequest".equals(XRequested)){

response.getWriter().write("IsAjax");

}else{

response.sendRedirect("/m-web/user/toLogin");

}

return false;

}

return true;

}

1、判断 String XRequested =request.getHeader("X-Requested-With") 的值,目的是判断是否是ajax请求。

2、response.getWriter().write("IsAjax");写出一个响应的数据给ajax,这样就可以在ajax里面做判断

判断的方式存在两种方式:

1)直接在ajax里面做判断(不建议)success:function(data){

if(data == "IsAjax"){

window.location.href="m-web/user/toLogin"

return;

}

}

2)改ajax源码然后在做压缩,是针对全局的方式来修改的(建议)if ( isSuccess ) {// if no content

if ( status === 204 || s.type === "HEAD" ) {

statusText = "nocontent";

// if not modified

} else if ( status === 304 ) {

statusText = "notmodified";

// If we have data, let's convert it

} else {

statusText = response.state;

success = response.data;

error = response.error;

isSuccess = !error;

//解决ajax拦截问题

var result = responses.text;

if(result.indexOf("IsAjax")>=0){

window.location.href="m-web/user/toLogin";

return;

}

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多解决拦截器对ajax请求的拦截实例详解相关文章请关注PHP中文网!

相关文章:

发布php中文网,转载请注明出处,感谢您的尊重!

如果觉得《php 请求拦截 解决拦截器对ajax请求的拦截实例详解》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。