场景:两个页面,在页面 1 进行搜索配置后跳转页面 2 获取并且展示搜索结果;
痛点是:页面 1 配置出来的参数比较复杂,不适合放进 url 中;
希望刷新,或者重新打开页面 2 依旧可以传递正确的参数给后端获取结果;
除了将该数据放进浏览器缓存中,还有别的方法么?
1 iOCZS 2024-06-19 17:49:35 +08:00 把参数存本地 |
2 HariopaNic OP @iOCZS localStorage 和 sessionStorage ?有别的方案么 |
![]() | 3 rbe 2024-06-19 18:02:15 +08:00 放不进 url 的原因是什么呢?如果是担心 url 编码或者长度的问题,可以用一些特殊的算法来解决,比如把参数用 lz-string 处理一下。typescript playground 就是用这种方式在 url 传递参数的。 https://github.com/pieroxy/lz-string |
4 iOCZS 2024-06-19 18:03:11 +08:00 @HariopaNic 没必要想太多,你想想有哪些场景,这个做法是不是能覆盖到就好了。如果我打开多个标签会不会有影响,如果我直接去了第二页会怎么样。。。。 |
5 HariopaNic OP @iOCZS 如果浏览器缓存被清除,或者用别的浏览器打开(包括 url 分享给别人等情形)都无法获取正确结果。 |
6 iOCZS 2024-06-19 18:15:55 +08:00 @HariopaNic 参数加密,你第一页提交参数,后端下发一个 id 给你,它把参数存起来,你拿着 id 去请求列表数据 |