首页 > 建站教程 > 前端框架 >  axios json自动转换导致精度丢失正文

axios json自动转换导致精度丢失

先看下面两张图

1.png


2.png


上面截图都是chrome浏览器请求同一接口返回的json,同一条数据ID却不相同,唯一区别是,一个chrome将json转成了对象,另一个没有转换。


再运行下面的代码:

<script>
alert(-3458764513820394039)
</script>


运行后弹出的是:

-3458764513820394000


问题整明白了,js的精度问题,坑爹啊。


axios会自动转JSON,只要转了JSON,精度就丢失了。


解决办法有两种:

    1、让后端将ID转成字符串

    2、用xmlhttprequest重写请求,将返回的字符串,用正则,将id值加上引号,然后再转JSON