微信小程序 wx.request 后端返回数据超出类型安全范围解决办法
遇到问题:
请求后端接口,发现返回的数据,文章的id被截断了,导致无法根据文章的id去获取文章详情,需要解决数据超出类型长度范围的问题。
解决办法:
-
联系后端,将接口返回的数据类型从 int 修改为 字符串 类型,这样就不会超出类型长度导致被截断了。
-
使用一些 包装类型处理包,如npm包中的
json-bigint
,将请求返回的数据进行包装,使用的时候转成字符串使用。
3.使用数组进行分段处理,如下,使用时再转成拼接为字符串
4.采用正则,在JSON.parse之前将数值转换加上字符串双引号,这样就会解析成字符串了,如下图
题外话:如果是单页面程序中使用axios请求则需要在axios处理返回数据之前将数据进行包装处理。
axios处理方法:https://blog.csdn.net/Aaa_Liao/article/details/106982675
实际案例:
解决问题:
解决如下:
环境: 微信小程序开发
使用处理包装包:json-bigint
1.对请求数据手动处理,不使用微信请求的自动转换。
提示:
2.传给另外一个页面时的处理
3.页面收到数据,发起请求