问题:前段时间开发遇到了一个很奇怪的问题。创建订单之后返回给前端一个订单编号,订单编号是一个超长的数字。前端用订单编号查询订单信息的时候经常出现错误的订单信息,根据日志判断是前端传给后端的订单号是不存在的。前端确认接收到的订单编号没问题,后端也确认输出的订单编号没问题,那么问题在哪里?
答案: 反复验证之后确定后端传参没问题,那么问题很有可能出在前端。通过chrome查接口返回的数据,最后发现,后端传给前端的数据没有问题,但是浏览器在解析JSON串的时候,把这个超长的订单编号解析错了。到网上查阅资料发现js对数字的支持比较弱,解析超长数字会出现精度问题。