实际项目中html跳转无响应原因及解决方案总结 您所在的位置:网站首页 网页中的超链接可以链接到什么 实际项目中html跳转无响应原因及解决方案总结

实际项目中html跳转无响应原因及解决方案总结

2023-09-13 02:55| 来源: 网络整理| 查看: 265

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

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

    1.js中代码字符错误。

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

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

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

function test(){ alert("测试"); window.location="www.xxx"; }

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

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

以上普通html中跳转失败,无响应问题百度基本上都有,下面介绍重点。 对于在实际项目中,跳转后,html中window.location失效的原因  对于实际项目中。做了登录验证, 当未查询到session,即未登录情况下,访问任何地址都会转发到localhost:8180/sys/toLogin  

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

window.location 信息

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

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

两个解决方案

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

但以上方案并不完美。

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

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

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

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

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

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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有