前端对接接口时出现数据错值(前后端均无报错)

早前发现了一个很有意思的bug,是介乎前端和后端之间的隐性bug,最后通过前后端友(hu)好(xiang)沟(tui)通(guo),把这个bug解决了。

后台拿取第三方接口数据,然后我请求后台获取数据。然后其中有一个数据的long类型的数据,后端并未注意到这个点且第三方也没有提前说明。

由于出现过大的数据(2127631862493544728),在JS 中能精准表示的最大整数是 Math.pow(2, 53),十进制即 9007199254740992,数据过大导致数据缺失了。

最后在前端查看network是,比对preview数据以及response数据,发现response返回的是正确的数据,但是来到preview后的数据是错值,最后定位到这个问题。

 

解决方法是:

后台将数据值进行string类型转换,前端可以获取完整的数值。

 

 

 

posted @ 2022-01-12 09:51  叶柳  阅读(555)  评论(0)    收藏  举报