后端返回的数据与前端console.log数据不一致问题

后端返回的数据与前端console.log数据不一致问题

在项目中偶尔会遇到后端返回的一大串数字,类似于订单编号(orderId),券ID(couponId)等等。有时候这些数字远超过十位、八位什么的;可能会有二十几位的一串数字。前端一般拿到数据是后面几位都是0。

一般这种情况是,精度丢失

精度丢失多出现于,后端使用的字段类型的精度与前端不一样。
前段时间遇到的couponId有十九位长的数字。前端拿到的值后面三位全是0。postman跑出来的是十九位的正常的,后三位非0,但是console.log()打印的结果后三位是0;由于console.log()是异步的,可能页面的某些逻辑影响到了结果。我在接口返回的最始地方alert了下,发现最后三位还是0,与实际的值不符合。

中间省略n个过程,直接到结果:

问了下后端用的哪种类型,后端说是用了long类型long类型与javaScript中的长度是不一致的,Java中的long类型是JavaScript的好多倍。于是让后端将Long类型修改成string类型就解决了该问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值