vue 通过query传非字符串参数, 结果获取时参数类型变成字符串

做的项目排查一个bug,前端通过json传一个id给后端,发现这个id有时是整数,有时是字符串,后端订的接口是整数,
开始排查,情况是前端代码一行没变,结果这个id有时是整数,有时是字符串,
后面发现代码是通过query传参,vue框架的query传参不会改变传入参数的类型,
但是因为通过页面的query传参, 当用户手动点刷新后, query的参数就会被置为字符串类型,
解决方法: 从query获取的参数先进行字符串转换或解析成想要的类型后再使用

js可以设置数据劫持,vue可能是设置了数据劫持(Object.defineProperty(), setter) 或者在页面刷新后vue重新构建了router下的这个query对象(从url获取到query参数,但是又没办法判断是什么类型,所以只能统一为string), 所以在取router的query时,取到的数据类型就变成string

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值