事业单位网站后台建设方案,网站logo修改,wordpress 无觅,生成链接的软件问题出现#xff1a;后端的Java Bean的id属性是用的Long类型对应数据库主键使用bigint类型#xff0c;当使用JSON方式传递该数据给前端时#xff0c;前端接收到的数据末尾会变成0。#xff08;发生的精度丢失问题#xff09; 问题原因#xff1a;Java中的long能表示的范围…问题出现后端的Java Bean的id属性是用的Long类型对应数据库主键使用bigint类型当使用JSON方式传递该数据给前端时前端接收到的数据末尾会变成0。发生的精度丢失问题 问题原因Java中的long能表示的范围比js中number大也就意味着部分数值在js中存不下(变成不准确的值)导致Id最后几位直接变成了0。 前端接收打印 解决方案1后端将后端的id变成字符串类型前端以字符串的方式接收就不会有精度丢失
解决方案2前端前端方案1前端引入 json-bigint npm install json-bigint解决方案3前端在axios封装的地方transformResponse 在传递给 then/catch 前允许修改响应数据。 修改axios的源码在node_modules/axios/lib/default.js中找到transformResponse 将其内容改为
transformResponse: [function transformResponse(data) {/*eslint no-param-reassign:0*/if (typeof data string) {try {data JSON.parse(data);} catch (e) { /* Ignore */ }}return data;}],解决方案4前端
后台传到前台时Long类型数据转为String类型。可以直接操作传回的对象数据toString()该long类型数据。推荐