精易论坛

标题: 如何在响应.渲染(“”)后改变网址 [打印本页]

作者: xxx1997    时间: 2021-1-5 17:17
标题: 如何在响应.渲染(“”)后改变网址
如图  就是在定义了视图函数 比如定义的是login  然后模板文件也是/login.esp  那么如何在登录逻辑处理完后判断是管理员还是用户之后分别使用响应.渲染渲染管理员和用户两种(我知道响应.渲染(“”)第二个参数可以填模板路径 )       但是我需要实现的是渲染之后用户浏览器显示的网址 /user   管理员是/admin   



作者: 神2    时间: 2021-1-5 17:17
相关资料可以查找pjax,也可以查找 Js修改网址hash
作者: 青春如此悲伤    时间: 2021-1-5 17:21
加两个判断参数 user=user 则 响应.重定向(/user)
        判断参数  user=admin 则 响应.重定向(/admin)
作者: xxx1997    时间: 2021-1-5 17:47
青春如此悲伤 发表于 2021-1-5 17:21
加两个判断参数 user=user 则 响应.重定向(/user)
        判断参数  user=admin 则 响应.重定向(/admin)  ...

重定向 不能重定向到模板文件吧   /user.esp   /admin.esp
作者: 神2    时间: 2021-1-6 07:01
不同的视图对应不同模板,除非你得模板数据本身具有通用性,此时可以 渲染() 时指定【模板路径】来根据情况选择渲染模板
作者: xxx1997    时间: 2021-1-6 14:46
神2 发表于 2021-1-6 07:01
不同的视图对应不同模板,除非你得模板数据本身具有通用性,此时可以 渲染() 时指定【模板路径】来根据情况 ...

大佬 我可能没太描述清楚  我知道可以在响应.渲染这个函数中的第二个参数可以自定义模板的路径 即就是(在相同的/login视图下 走完登录流程可以通过这个参数选择模板是:user.esp还是admin.esp),但是我想要实现的需求是在前端处理完登录后浏览器显示的网站不是固定的/login  而是带参数的例如127.0.0.1/login?admin=true   或者127.0.0.1/login?admin=false    或者是127.0.0.1/a  127.0.0.1/b 这种  简而言之就是是否能在渲染模板后使得网址跟着变化
作者: 神2    时间: 2021-1-6 20:44
网址只能改hash部分,也就是#之后的,其他时候只能跳转。?在#之前。除非你执行get跳转。
作者: xxx1997    时间: 2021-1-7 18:27
神2 发表于 2021-1-6 20:44
网址只能改hash部分,也就是#之后的,其他时候只能跳转。?在#之前。除非你执行get跳转。 ...

好的 大佬 那#之后怎么改呀
作者: 瓦砾卡卡    时间: 2021-1-11 13:20
用标签,在全局订阅函数里判断,然后分流




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4