解决拦截器对ajax请求的拦截实例详解
发布时间 - 2026-01-10 22:00:24 点击率:次解决拦截器对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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速搭建高效香港服务器网站?
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
Laravel怎么连接多个数据库_Laravel多数据库连接配置
QQ浏览器网页版登录入口 个人中心在线进入
b2c电商网站制作流程,b2c水平综合的电商平台?
php json中文编码为null的解决办法
如何在 Pandas 中基于一列条件计算另一列的分组均值
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
如何快速启动建站代理加盟业务?
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
Laravel如何使用查询构建器?(Query Builder高级用法)
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Laravel如何实现API版本控制_Laravel版本化API设计方案
如何正确选择百度移动适配建站域名?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
高性能网站服务器部署指南:稳定运行与安全配置优化方案
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
如何在IIS中配置站点IP、端口及主机头?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
Laravel如何创建自定义Facades?(详细步骤)
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
公司门户网站制作流程,华为官网怎么做?
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
七夕网站制作视频,七夕大促活动怎么报名?
如何用免费手机建站系统零基础打造专业网站?
深入理解Android中的xmlns:tools属性
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
Python文件流缓冲机制_IO性能解析【教程】
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
Laravel怎么使用Intervention Image库处理图片上传和缩放
如何在景安服务器上快速搭建个人网站?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
高防服务器租用首荐平台,企业级优惠套餐快速部署
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
如何用AWS免费套餐快速搭建高效网站?
敲碗10年!Mac系列传将迎来「触控与联网」双革新
如何安全更换建站之星模板并保留数据?
下一篇:Swoole的原子计数器有什么用
下一篇:Swoole的原子计数器有什么用

