前端接收PHP返回的json数据,里面的键对应的值有问题 ,这产生的原因是什么?

前端接收PHP返回的json数据,里面的键对应的值有问题 ,这产生的原因是什么?

PHP代码如下:

$a[0]['vin'] = 'SADADASDSADSADASD';
$a[1]['vin'] = 54444444444444444;//54444444444444450
$b['vin'] = 54444444444444444;//54444444444444450
$c = 54444444444444444;//54444444444444444
return $b;

谷歌浏览器查看的数据

图片描述

PHP解决办法如下

$b['vin'] = 54444444444444444; //字符类型转型

我想知道javascript这个产生的根本原因是什么?同时网站是前后端模版分离,请求API的,php返回json给前端。

Tips:

1、考虑方面:js的精度问题

阅读 4k
4 个回答

在解析序列化的JSON时,如果JSON解析器将它们强制转换为Number类型,那么超出此范围的整数值可能会被破坏。使用String类型代替,是一个可行的解决方案。

js安全整数在 ( -(2^53 - 1) 至 2^53 - 1之间) [-9007199254740992 -- 9007199254740992]

不知道你这个是什么框架框架,一般后端返回json,用exit(json_encode($b));
然后ajax那边写法,你就得这么定义

clipboard.png

js无法处理bigint,转成字符串的就可以了。

前端的数值类型溢出了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题