昨天前后端同事讨论了半天,一个订单号不存在的问题。
前端说收到什么用什么,后端说前端用的订单号在数据库不存在,经过多次验证没有发现问题所在。
最终确定问题发生在后端返回response,浏览器转换为preview的时候,数据转换出现了偏差,导致前端拿到的数据和数据库对照不上。
顺手百度后,在CSDN找到解决方法。以下是转载。
问题分析:
JS在处理返回数据类型是Long的时候,精度会丢失一部分!!!
问题原因:
JS内置有32位整数,而number类型的安全整数是53位。如果超过53位,则精度会丢失。正如现在后台传来一个64位的Long型整数,因此超过了53位,所以后台返回的值和前台获取的值会不一样。
问题解决:
找后端同学去转string吧!具体怎么转后端看着办 ~
注:后端可以给前端传一个long类型的数据,但是这个long类型的数据也不能太long,不然js转换乏力。。。
---------- 后续更新 -----------
前端来转换也是可以的,请移步至此:jison解决JS处理后台返回的Long型数据精度丢失
---------------------
作者:黑子Kuroko
来源:CSDN
原文:https://blog.csdn.net/fifteen718/article/details/82259961
版权声明:本文为博主原创文章,转载请附上博文链接!