Vue解决后端返回Long类型丢失精度问题
Vue解决后端返回Long类型丢失精度问题最近帮人搞个项目,由于没怎么对接,后端就直接返回long类型的id,这搞得前端比较被动,后端如果处理long类型,会影响其他功能,索性前端想办法解决吧,正所谓:没有解决不了的问题只是看你想不想解决干货经过一番分析和搜查之后,找到了Jison这个开源项目,按照Github文档介绍下载项目npm install jison -g然后下载jsonlint项目,修
·
Vue解决后端返回Long类型丢失精度问题
最近帮人搞个项目,由于没怎么对接,后端就直接返回long类型的id,这搞得前端比较被动,后端如果处理long类型,会影响其他功能,索性前端想办法解决吧,正所谓:没有解决不了的问题只是看你想不想解决
干货
经过一番分析和搜查之后,找到了Jison这个开源项目,按照Github文档介绍下载项目
npm install jison -g
然后下载jsonlint项目,修改src下的jsonlint.y文件
将原文本的
JSONNumber
: NUMBER
{$$ = Number(yytext);}
;
替换成
JSONNumber
: NUMBER
{$$ = yytext == String(Number(yytext))? Number(yytext): yytext;}
;
最后利用jison生成jsonlint.js文件
cd 路径/jison/src
jison jsonlint.y jsonlint.l
引入vue项目
- 将生成的jsonlint.js引入到vue工程下的public/static目录下

- 在index.html中引入,根据自己的存放路径引入即可

- 在请求响应的时候做一层拦截

这样前端就能取得long类型id而不丢失精度,但是需要注意的是,需要将id进行console.log打印出来,在network中查看,还是丢失精度的
更多推荐



所有评论(0)