微信小程序 wx.request 后端返回数据超出类型安全范围解决办法

遇到问题:

请求后端接口,发现返回的数据,文章的id被截断了,导致无法根据文章的id去获取文章详情,需要解决数据超出类型长度范围的问题。

解决办法:

  1. 联系后端,将接口返回的数据类型从 int 修改为 字符串 类型,这样就不会超出类型长度导致被截断了。

  2. 使用一些 包装类型处理包,如npm包中的 json-bigint,将请求返回的数据进行包装,使用的时候转成字符串使用。

3.使用数组进行分段处理,如下,使用时再转成拼接为字符串

4.采用正则,在JSON.parse之前将数值转换加上字符串双引号,这样就会解析成字符串了,如下图

题外话:如果是单页面程序中使用axios请求则需要在axios处理返回数据之前将数据进行包装处理。

axios处理方法:https://blog.csdn.net/Aaa_Liao/article/details/106982675

实际案例:
解决问题:

解决如下:
环境: 微信小程序开发
使用处理包装包:json-bigint
1.对请求数据手动处理,不使用微信请求的自动转换。

提示:

2.传给另外一个页面时的处理



3.页面收到数据,发起请求

posted @ 2020-07-12 12:54  StackOcean  阅读(2026)  评论(1编辑  收藏  举报