response received too late-凯发k8官方旗舰厅

response received too late_sendredirect这两天整理项目,记录一下遇到的问题。代码:if(request.getsession().getattribute(“login”)==null||!((boolean)(request.getsession().getattribute(“login”)))){response.sendredirect(“http://ip:8080/html_t…

这两天整理项目,记录一下遇到的问题。
代码:

if (request.getsession().getattribute("login") == null || !((boolean) (request.getsession().getattribute("login")))) { 
   
            response.sendredirect("http://ip:8080/html_ttms/html/login.html");//ip为服务器ip地址,在此用ip代指
            return false;
}
response received too late_sendredirect

为防止网络爬虫,请关注公众号回复”口令”

激活idea 激活clion
datagrip dataspell
dotcover dotmemory
dottrace goland
phpstorm pycharm
resharper reshac
rider rubymine
webstorm 全家桶

按照平时表单提交的练习习惯,这没有什么问题,如果未登录,重定向到登录页面;拦截器的prehandle()返回false,不再继续请求的处理,直接返回,然后浏览器会重新请求重定向的url。然而浏览器那边却什么反应也没有,直到看到这篇博客,原来ajax只是利用脚本访问对应url获取数据,不能做除了获取返回数据以外的其它动作。所以浏览器端是不会发起重定向的。

解决:
在js下面新建一个judge.js文件,然后放如下代码:

! function () { 
   
    $.ajaxsetup( { 
   
        //设置ajax请求结束后的执行动作
        complete : function(xmlhttprequest, textstatus) { 
   
            // 通过xmlhttprequest取响应头中信息,判断是否是重定向
            var redirect = xmlhttprequest.getresponseheader("redirect");
            if (redirect == "redirect") { 
   
                alert("未登录,请先登录");//提示
               window.top.location.href= xmlhttprequest.getresponseheader("path");//取出路径,重定向
            }
        }
    });
}();

window.top
功能:返回顶层窗口,即浏览器窗口。
如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。
然后在每一个html中引入js,引入的时候放在其他js的下面,否则可能不起作用。

<script type="text/javascript" src="../js/judge.js">script>

后端拦截器相应代码改成:

if (request.getsession().getattribute("login") == null || !((boolean) (request.getsession().getattribute("login")))) { 
   
            response.setheader("redirect","redirect");//告诉ajax要重定向
            response.setheader("path","http://ip:8080/html_ttms/html/login.html");//ip为服务器ip地址,在此用ip代指
            return false;
}

这样,就可以成功跳转了。

凯发k8官方旗舰厅的版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由思创斯整理,转载请注明出处:https://ispacesoft.com/163807.html

(0)

相关推荐

  • instdisc《unsupervisedfeaturelearningvianon-parametricinstancediscrimination》

  • c和java和python怎么选_java选择排序从大到小大学那会也被这个问题被困惑了大半年,直到毕业拿了几个大厂offer才发现语言的选择也就那一回事,我猜不少人刚入门的人依然被这个问题困扰着,所以决定认真分享一波我的经历。如果你还处于大一,大二,或者刚刚入门阶段,那么我认为,语言的选择并不重要,更重要的是底层/通用基础的学习,例如数据结构,算法,计算机网络这些,因为这些语言,是存在很多相同的特性的,例如你学习了c ,后面要转java,那么其实还是可以很快就上手的。而且,等到了差不多毕业去应聘校招的时候,其实公司并不会对语言有严格的要求,例如你要面

    2022年12月15日
  • canvas水平垂直居中[通俗易懂]完整的例子如下:<!doctypehtml><htmllang="en"><head><metacharset="utf-8"><title>title</title><style>canvas{ba

  • cvcvtcolor函数_cv::resizecvcvtcolor(),是opencv里的颜色空间转换函数,可以实现rgb颜色向hsv,hsi等颜色空间的转换,也可以转换为灰度图像。定义:voidcvcvtcolor(constcvarr*src,cvarr*dst,intcode);参数:第一个参数src:输入图像为8位无符号,16位无符号(cv_16uc…)或单精度浮点。第二个参数dst:输出与src相同

  • 使用fastjson 对map/json/string 进行互转「建议收藏」fastjson是一个java语言编写的高性能功能完善的json库,由阿里巴巴公司团队开发的主要特性主要体现在以下几个方面:1.高性能fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocolbuf。2.功能强大支持各种jdk类型。包括基本类型、javabean、collection、ma

    2022年11月30日
  • tomcat虚拟服务目录的设置_如何部署tomcat服务器tomcat服务(部署、虚拟主机配置、优化)

  • 《这是全网最硬核redis总结,谁赞成,谁反对?》六万字大合集[通俗易懂]后端需要知道的关于redis的事,基本都在这里了。此文后续会改为粉丝可见,所以喜欢的请提前关注。你的点赞和评论是我创作的最大动力,谢谢。《三天给你聊清楚redis》第1天先唠唠redis是个啥(18629字)一、入门redis是一款基于键值对的nosql数据库,它的值支持多种数据结构:字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sortedsets)等。•redis将所有的数据都存放在内存中,所以它的读写性能十分惊人,.

  • 类图的详解_类图中的类怎么确定类图一、类图概要​ ★类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法​ ★类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象二、类图中的事物及解释​ (一)类​ 1.从上到下分为三部分,分别是类名、属性和操作。类名是必须有的​ 2.类如果有属性,则每一个属性必须有一个名字,另外还可以有…

发表回复

您的电子邮箱地址不会被公开。

联系凯发k8官方旗舰厅

关注“java架构师必看”公众号

回复4,添加站长微信。

附言:ispacesoft.com网而来。

关注微信
网站地图