HTML设置自动跳转后无反应,实际项目中html跳转无响应原因及解决方案总结

博主自学框架不久,经验不多,导致出现非常多的细节,低级问题。本着不要脸精神,为广大自学同胞提供一些低级错误的错误原因以及解决方案。以下带来  springmvc框架下前端html中window.location失效的原因以及解决方案。

首先普通html中window.location跳转失败的原因有以下几个:

1.js中代码字符错误。

2.触发跳转的控件在form表单中或者在submit控件中跳转。

对于上述两个问题的解决方式:

1.正确js如下,请认真核对。

2.在使用form表单时,可以直接使用form表单中  action=“”属性进行跳转,如果此方法不能满足需求。可以将form表单

改为 div,然后将submit改为button。

以上普通html中跳转失败,无响应问题百度基本上都有,下面介绍重点。

对于在实际项目中,跳转后,html中window.location失效的原因

对于实际项目中。做了登录验证,

68e1fcc809f2a8ddddb31e5dbb101b42.png

当未查询到session,即未登录情况下,访问任何地址都会转发到localhost:8180/sys/toLogin

6f10112bc515daacde83ad0a4e413a37.png

然后返回login.html登录页面。但这个方法下的跳转后的地址是 原来用户输入访问的路径,用代码验证,跳转钱输出

window.location 信息

421b17dc33da5da6328073cf6b2c02ca.png

74bab259c8925bee3ba07657b4b595c9.png

观察如上两张图,可有看出,当用户连接时间超时,或者被管理员踢下线时,用户再次刷新页面,或者直接访问localhost:8180/html/main.html时候,是会直接转发到login页面,但地址依据是localhost:8180/html/main.html。此时用户进行登录操作,

15c6f0c0f3cc3467a3e880010241da97.png

此句代码是相当于不执行的。所以会出现正确登录,但却无法跳转到main.html页面

两个解决方案

1.进行判断,清空window.location

ed3648215887f8b30be103edcf5ebcaf.png

但以上方案并不完美。

2.从根源出发。我们首先要明白,重定向和跳转,区别和概念自行百度,博主不过多赘述(其实我也不是很懂),其中转发地址栏没有变化,而重定向地址栏有变化,这个区别是关键。在servlet中调用重定向的语句如下:

response.sendRedirect("new.html");//重定向到new.html

根据此句,将项目中登录验证中转发改为重定向。

a961f24820ec8d250a7d0b64fa637bfb.png

输入localhost:8180/html/main.html 返回页面如下

e3693b0120796ee1961ba16df10fc2d2.png

其中地址也变成了固定的localhost:8180/sys/toLogin

此时,window.location就可以正确跳转了。

ps:第一次写博客,有点紧张,若是文中存在错误,欢迎各位大佬指正。谢谢

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值