Shiro 处理ajax请求 拦截登录超时---解决!
来源:互联网 发布:郭艾伦奥运会数据 编辑:程序博客网 时间:2024/05/19 10:36
配置全局ajax配置
将这段js,放在全局的文件中。例如自己写的js文件 或者其他。。
然后有关一些其他问题:
1.如何判断是ajax请求?
请看下面代码:
2.了解Jquery中“$.ajaxSetup()方法”
$.ajaxSetup({ complete:function(XMLHttpRequest,textStatus){ if(textStatus=="parsererror"){ $.messager.alert('提示信息', "登陆超时!请重新登陆!", 'info',function(){ window.location.href = 'login.jsp'; }); } else if(textStatus=="error"){ $.messager.alert('提示信息', "请求超时!请稍后再试!", 'info'); } }});
将这段js,放在全局的文件中。例如自己写的js文件 或者其他。。
然后有关一些其他问题:
1.如何判断是ajax请求?
请看下面代码:
String requestType = request.getHeader("X-Requested-With");if("XMLHttpRequest".equals(requestType)){ System.out.println("非AJAX请求.."); System.out.println("AJAX请求..");}else{ //此时requestType为null}
2.了解Jquery中“$.ajaxSetup()方法”
//设置AJAX的全局默认选项$.ajaxSetup( { url: "/index.html" , // 默认URL aysnc: false , // 默认同步加载 type: "POST" , // 默认使用POST方式 headers: { // 默认添加请求头 "Author": "CodePlayer" , "Powered-By": "CodePlayer" } , error: function(jqXHR, textStatus, errorMsg){ // 出错时默认的处理函数 // jqXHR 是经过jQuery封装的XMLHttpRequest对象 // textStatus 可能为: null、"timeout"、"error"、"abort"或"parsererror" // errorMsg 可能为: "Not Found"、"Internal Server Error"等 // 提示形如:发送AJAX请求到"/index.html"时出错[404]:Not Found alert( '发送AJAX请求到"' + this.url + '"时出错[' + jqXHR.status + ']:' + errorMsg ); }} );// 未设置任何参数,但url、async、type、headers、error等参数的默认值均已被$.ajaxSetup()更改(如上)$.ajax( );// 设置了url、type、success、error,就使用自己设置的参数值// 但async、headers等参数的默认值已被$.ajaxSetup()更改$.ajax( { url: "myurl.php?action=list" , type: "GET" , success: function( data, textStatus, jqXHR ){ alert("返回数据:" + data); } , error: function(jqXHR, textStatus, errorMsg){ alert("自己的error!"); }});// 上述$.ajaxSetup()的默认设置对$.get()、$.post()、load()、$.getJSON()、$.getScript()等AJAX函数也生效// 因为这些函数也是在内部调用$.ajax()函数来实现的,只不过它们在内部都设置了一些参数// $.get()在内部调用$.ajax()时已设置type为"GET",因此仍然使用GET方式。// 但url、async、headers、error等参数的默认值已被$.ajaxSetup()更改$.get( );// $.post()在内部调用$.ajax()时已设置type为"POST",因此仍然使用POST方式。// url也被设置为"user/action.php?method=addUser"// 但async、headers、error等参数的默认值已被$.ajaxSetup()更改$.post( "user/action.php?method=addUser" );
3.complete : function(){} 是什么函数?
complete: function() {} 这个是回调函数,在完成的时候,会执行这个方法。(在我们的情形中是当ajax请求完成之后调用。)
4. $.ajax({})中的 error , complete , beforeSend 回掉函数的了解
/* 通过捕捉error事件来获取出错的信息: error: function(XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); } XMLHttpRequest.readyState: 状态码的意思 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端调用了 status:返回的HTTP状态码,比如常见的404,500等错误代码。 statusText:对应状态码的错误信息,比如404错误信息是not found,500是Internal Server Error。 responseText :服务器响应返回的文本信息 complete: function (XMLHttpRequest, textStatus) { //textStatus的值:success,notmodified,nocontent,error,timeout,abort,parsererror }, error: function (XMLHttpRequest, textStatus, errorThrown) { //textStatus的值:null, timeout, error, abort, parsererror //errorThrown的值:收到http出错文本,如 Not Found 或 Internal Server Error. } */
阅读全文
0 0
- Shiro 处理ajax请求 拦截登录超时 解决!
- Shiro 处理ajax请求 拦截登录超时---解决!
- ajax请求超时处理
- 关于shiro中 ajax请求登录失效的处理
- 在Ajax请求中处理登录session超时的方法
- shiro 拦截器实现session过期拦截ajax请求的处理
- session超时,处理ajax请求
- session超时,处理ajax请求
- session 超时,处理ajax请求
- ajax请求session 超时处理
- Ajax请求处理Session超时
- 超时下Ajax请求处理
- session超时,处理ajax请求
- Spring Security管理下的ajax请求登录超时问题处理
- 单点登录,session超时, ajax链接处理
- Ajax请求session超时处理流程
- Session超时后,Ajax请求处理方式
- Ajax请求Session超时的处理
- 机器学习-方差
- IntelliJ初使用:IntelliJ创建简单的maven项目
- Spring框架之基础类—ScannedGenericBeanDefinition实现类
- a
- KNN和K-means
- Shiro 处理ajax请求 拦截登录超时---解决!
- android system hack Cipher
- mysql中的左连接、内连接、右连接和全连接理解
- ConstraintLayout 技术分享
- 周四见|公开课预告《软件测试,我们在做些什么?》by鸿一
- css弹性盒子
- Delphi10控件Style自定义注意点
- 欢迎使用CSDN-markdown编辑器
- unbuntu+win10双系统时,unbuntu调用win10的硬盘