问题描述:数据库存值为number类型,传到前端后因为太长,导致精度丢失。
方案1:可考虑将值转成字符串后再传递给前端。
方案2:利用第三方包,例如json-bigint。具体如下:(这里是基于axios处理)
import JSONBIG from 'json-bigint'
axios.defaults.transformResponse = [
function (data) {
// 如果为数据流文件类型,直接返回(用于文件下载,后端返回数据流)
if(data.type === 'application/octet-stream'){
return data
} else {
const json = JSONBIG({
storeAsString: true
})
const res = json.parse(data)
return res
}
}
]