当前位置: 首页 > 知识库问答 >
问题:

javascript - 前端路由中为什么 params 参数刷新会丢失,而 query 就不会?

姚善
2023-05-11

我想问的其实不是解决 params 参数会丢失的问题,而是想问为什么它就会丢失?而 query 就不会丢失呢?

共有4个答案

连鸿
2023-05-11

query 类似 Get 请求,直接写到地址栏
params 类似 Post 请求,仅仅在代码内容存储

宋经赋
2023-05-11

params存在内存里,通过url到内存里取值,
query存在url上,在url上解析就能拿到
你刷新页面,内存里的东西会没掉,
但是url上的还在

皇甫礼骞
2023-05-11

params参数是通过URL路径传递的,而query参数是通过URL查询字符串传递的。当页面刷新时,URL路径会被重新加载,但查询字符串不会。因此params参数会丢失,而query参数不会丢失。

贝浩歌
2023-05-11

当页面刷新时,前端路由需要重新解析 URL 并重新渲染页面。但是,当使用 params 传递参数时,这些参数会被编码在 URL 路径中,而刷新页面会导致浏览器重新发送请求,此时 URL 路径中的参数将会丢失。

相反,当使用 query 传递参数时,这些参数会被编码在 URL 的查询字符串中。当页面刷新时,前端路由可以从浏览器地址栏中解析出查询字符串,并将其用于重新渲染页面。因此,刷新页面不会导致 query 参数丢失。

直白的来说:query相当于get请求,而params相当于post请求

 类似资料: