我尝试使用router.push
进行重定向以传递查询字符串,但当我尝试在参数中传递带有特殊字符的值时,逗号正在编码我的URL。是否可以使用router.push
将','传递到URL中?
我试过很多方法,但我不知道怎么做。
router.push({
pathname: router.pathname,
query: { ...router.query, pets: 'cats,dogs'},
})
生成的URL将是myurl?pets=cats%2Cdogs
,我希望它是myurl?pets=cats,dogs
。
2条答案
按热度按时间s1ag04yj1#
对路径和查询字符串使用URL对象格式将对查询参数进行内部编码。
若要避免这种情况,可以将路径和查询字符串作为字符串传递。
f0brbegy2#
您需要对URI参数进行解码和编码。路由器会自动对查询参数进行编码:
您需要在阅读时解码它们: