解决拦截器对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请求拦截
# ajax请求拦截详解
# 解决拦截器
# ajax请求拦截实例
# 用jQuery.ajaxSetup实现对请求和响应数据的过滤
# jquery的ajax如何使用ajaxSetup做全局请求拦截
# 两种
# 希望能
# 谢谢大家
# 是否存在
# 就可以
# 判断是否
# 目的是
# getAttribute
# postId
# String
# write
# getSession
# token
# null
# getHeader
# Requested
# XMLHttpRequest
# equals
# getWriter
相关文章:
建站之星Pro快速搭建教程:模板选择与功能配置指南
建站主机无法访问?如何排查域名与服务器问题
建站主机选择指南:服务器配置与SEO优化实战技巧
建站168自助建站系统:快速模板定制与SEO优化指南
利用JavaScript实现拖拽改变元素大小
广东企业建站网站优化与SEO营销核心策略指南
定制建站流程步骤详解:一站式方案设计与开发指南
如何通过FTP空间快速搭建安全高效网站?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何选择高效可靠的多用户建站源码资源?
如何在橙子建站中快速调整背景颜色?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
外贸公司网站制作哪家好,maersk船公司官网?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
常州自助建站工具推荐:低成本搭建与模板选择技巧
购物网站制作公司有哪些,哪个购物网站比较好?
如何快速上传建站程序避免常见错误?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
css网站制作参考文献有哪些,易聊怎么注册?
建站之星图片链接生成指南:自助建站与智能设计教程
建站之星会员如何解锁更多建站功能?
如何基于PHP生成高效IDC网络公司建站源码?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
江苏网站制作公司有哪些,江苏书法考级官方网站?
网页设计与网站制作内容,怎样注册网站?
如何快速生成专业多端适配建站电话?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
建站上市公司网站建设方案与SEO优化服务定制指南
山东网站制作公司有哪些,山东大源集团官网?
如何确保FTP站点访问权限与数据传输安全?
如何在IIS中配置站点IP、端口及主机头?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
如何撰写建站申请书?关键要点有哪些?
如何选择美橙互联多站合一建站方案?
制作电商网页,电商供应链怎么做?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
电商平台网站制作流程,电商网站如何制作?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
linux top下的 minerd 木马清除方法
韩国服务器如何优化跨境访问实现高效连接?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
如何在万网自助建站中设置域名及备案?
建站之星如何快速生成多端适配网站?
太平洋网站制作公司,网络用语太平洋是什么意思?
高防服务器租用指南:配置选择与快速部署攻略
如何通过可视化优化提升建站效果?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
*请认真填写需求信息,我们会在24小时内与您取得联系。