开发者社区> 问答> 正文

ThinkPHP跳转问题:报错

各位大神好,现在我要做一个登录功能,url是这样的:xxx.com/home/index/login.php其实这个就是home模块下的index控制器的login方法,用来展示登录页面,然后用户输入账号密码点击登录就会提交到:

xxx.com/home/index/checkUser.php

在这个checkUser方法里验证成功以后我会跳转到首页页面($this->display('index/index'),只是显示这个页面,网址不变的.),现在问题来了,当我登录成功以后刷新页面的时候,浏览器总提示我确认要再提交一次表单吗,这个用户体验很不好,请问各位大神有什么好的解决方法吗?我目前是用父类控制器进行cookie判断,如果cookie存在且合法则跳转到首页,这样来规避这条浏览器提示,但是觉得不好,功能不够分离,我所有继承该父类控制器的子控制器都要这样判断.觉得耦合度比较高.有什么其他建议吗各位,感激不尽.

展开
收起
kun坤 2020-06-06 13:40:08 511 0
1 条回答
写回答
取消 提交回答
  • 提交的表单那里用U方法。
    登陆成功,跳转到首页页面  $this->redirect('index/index');
    ######非常感谢!!######可以用ajax提交登陆,登陆窗口也是JS控制的弹出层,这样会比较友好######感谢!######是一个很好的解决办法!!######1楼正解   redirect方法 url会变 就不存在刷新重复提交表单的情况了######回复 @小西瓜瓜 : url不变 刷新=重新请求一次控制器(重新提交一次 所以会提示是否重复提交表单) url变了 自然就没有这个问题######感谢!不过我还想知道,为什么url变了浏览器就不会问是否要重复提交了呢?

    2020-06-06 13:40:14
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载