Perl(CGI)和HTML的画面跳转地址栏显示错误,且浏览器的返回上一页不可用

Otometou 2019-12-03 10:18:16
html放在了.tt文件里
功能实现放在.cgi文件里
.cgi文件里面用use Template先new template,然后通过$template->process("../tt/login.tt",$var)将画面加载出来,但是logout跳转去logout.cgi的时候用的是<a></a>,并且在链接里面将用户ID传到后台,所以当logout处理结束时画面是跳转到login了,但浏览器地址栏显示的是“..../logout.cgi?userid=xxx”。

现在将.cgi里面的画面加载改为
printf("<script>window.setTimeout(\"location.href = 'http://ip地址'\", 1000);</script>\n");
参考的https://blog.csdn.net/lixuyuan/article/details/6609114

可以实现画面跳转完成后浏览器地址栏也正确显示为"..../login.cgi”,但是浏览器的返回上一页就失效了。尝试过用js来监听返回事件调用history.back(),但只是又重新加载了一次login画面,没有返回logout之前的画面。
请问有什么办法可以实现返回login画面地址栏正确显示的同时,浏览器的返回上一页还能用。因为之前完全没有接触过这一块内容,这几天找解决方法都是东拼西凑,希望有懂的人士可以教授一下,拜托了。
...全文
100 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧