网页跳转如何保留上个页面的参数,以便返回时保持相同的状态?

发布于 2022-09-12 13:54:30 字数 435 浏览 9 评论 0

页面A是有本身需要用到的queryString传过来的两个参数叫firstSubjectsecondSubject,这两个参数页面B不需要用到。

页面A还有筛选按钮,点击筛选按钮跳转到筛选页面B,因为有三个不同的筛选类型(等级,地区,专业),所以跳转到页面B时还要传是哪个类型,在页面B选完选项确定后带着选项返回页面A。讲的有点绕,但愿能看明白。

页面A的三个筛选按钮:

image.png

页面B:(选择地区时)
image.png

目前的做法是都通过queryString传,但是觉得逻辑很乱,代码可读性很差。大神们有什么好的方案推荐吗

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

dawn曙光 2022-09-19 13:54:30

你觉得很乱那是因为你把A,B页面的参数都平铺拆开来了,没有做区分
当A页面跳B页面时,除了添加B页面所需要的参数,再额外添加一个用于保存A页面的参数,比如叫state.state由A页面的queryString使用btoa函数编码。B页面回跳A页面时把state参数用atob函数解码得到跳转前A页面的状态

// /page-a.html?a=1&b=2
const state = btoa("a=1&b=2")

// /page-b?state=YT0xJmI9Mg==
const pageQuery = atob("YT0xJmI9Mg==")
若相惜即相离 2022-09-19 13:54:30

如果不想放到query里面,可以存储到localstorage中

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文