vue history路径编码

记录今天遇到的一个问题:

问题现状

有一个需要前端伪造302进行重定向的需求,我们需要将这样的一个路径:http://xxx.com/system-name/#/index,拼接在跳转地址的后面,进行重定向。拼接的方式是这样的:

http://redirect_system_host.com?redirect_url=${url},这个url就是我们上面所列举的地址,是一个history模式的路由地址。

排查

在发送请求的过程中,我们很确定传输的地址没有错,但是对方系统收到地址里面就是没有路由后面的/#/index,导致重定向过程错误。

刚开始以为是对方系统中的设置,确认是传输错误以后,我们提问了ChatGPT,它给出这样的答案:

在这里插入图片描述

提示我们应该对路径进行编码encodeURIComponent,当我们尝试了之后,结果确实对了。所以,确实是因为路径没有编码导致的。

解决和结论

所以,得出结论,当在传输一些路径的地址的时候,尤其是路径里有特殊字符,最好都使用encodeURIComponent进行编码,避免因传输过程中丢失、解析方式不一致等导致出现错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值