我想问的其实不是解决 params 参数会丢失的问题,而是想问为什么它就会丢失?而 query 就不会丢失呢?
我想问的其实不是解决 params 参数会丢失的问题,而是想问为什么它就会丢失?而 query 就不会丢失呢?
params参数是通过URL路径传递的,而query参数是通过URL查询字符串传递的。当页面刷新时,URL路径会被重新加载,但查询字符串不会。因此params参数会丢失,而query参数不会丢失。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
当页面刷新时,前端路由需要重新解析 URL 并重新渲染页面。但是,当使用 params 传递参数时,这些参数会被编码在 URL 路径中,而刷新页面会导致浏览器重新发送请求,此时 URL 路径中的参数将会丢失。
相反,当使用 query 传递参数时,这些参数会被编码在 URL 的查询字符串中。当页面刷新时,前端路由可以从浏览器地址栏中解析出查询字符串,并将其用于重新渲染页面。因此,刷新页面不会导致 query 参数丢失。
直白的来说:query相当于get请求,而params相当于post请求