当前位置: 首页 > news >正文

网站建设网站安徽网站建设优化推广

网站建设网站,安徽网站建设优化推广,男女做污的事情网站视频,idc网站模版1、业务背景 有个同事找我帮他看一个问题,他给前端提供了一个接口。 这个接口是用来反查id的,他这里这个参数正常的返回值应该是 283232039247028226。 但前端反馈他,前端在浏览器(火狐)获取的值是 283232039247028…

1、业务背景

有个同事找我帮他看一个问题,他给前端提供了一个接口。

这个接口是用来反查id的,他这里这个参数正常的返回值应该是 283232039247028226

但前端反馈他,前端在浏览器(火狐)获取的值是 283232039247028220(而且前端返回的这个值,并不存在于他的数据库中)。

而且他用浏览器(谷歌)进行访问返回的值也和前端一样是个错误值

Postman请求的值:

在这里插入图片描述

前端浏览器(火狐)请求的值:

在这里插入图片描述

2、问题分析

我用Edge浏览器进入前端页面查看,发现我这里返回的值和Postman是一致的

在这里插入图片描述

随后我去数据库查询他们得到的错误值,发现数据库是不存在的。既然数据库不存在,且不是所有浏览器都能复现,那应该就不是代码逻辑问题捞取到错误的值了。

随后我将正确的值、和他返回错误的值的值进行对比,发现整体是大致一样的,只有最后一位数不同。这个时候我就大概率感觉应该是精度损失的问题了!

随后一看他的代码,返回类型是用的Long类型的字段。百度得知前端JavaScript最大只能接收16位数字,故会导致精度丢失,以至于最后一位的6变成了0。(至于Edge为什么没有精度损失,怀疑可能是底层对其有一定的兼容)

3、解决方案

既然问题产生的原因已经很清晰了,那解决方案很简单,就是将原本的Long类型,修改为String类型,即可解决精度损失的问题。

4、总结

对于过长的id,尽量使用String进行存储和传递。因为你最多能确保在你这里是不会精度损失的,但你不能确保调用你接口的其他地方是以什么形式来解析你的id的。

http://www.hkea.cn/news/209752/

相关文章:

  • DW怎么做电商网站梅花seo 快速排名软件
  • 哪个网站可以查企业信息今日热搜榜官网
  • 做网站有必要注册商标吗河北百度seo关键词
  • 网站更换服务器教程下载app到手机上并安装
  • 学校网站建设都是谁做的网络舆情分析
  • 怎么把现有网站开发php昆明seo排名外包
  • 网站桥页怎么找理发培训专业学校
  • 谷城网站开发百度导航官网
  • 做网站不优化平面设计网站
  • 聊城做网站的公司价格谷歌seo软件
  • 支部网站及活动室建设网页广告调词平台
  • 网站建设的企业抚州seo外包
  • 澳门wap网站制作百度关键词检测工具
  • 哪些外贸网站可以做soho首页
  • 三门峡网站建设电话青岛网站推广公司
  • 洞口做网站找谁市场营销推广方案模板
  • 怎么做用来表白的网站湖人队最新消息
  • 新疆网站建设哪家好泉州网站seo外包公司
  • 网站开发前后端工具组合深圳推广公司推荐
  • 老外做的汉字网站一键生成app制作器
  • 网上设计接单的网站seo排名优化排行
  • wordpress后台加统计代码seo建站的步骤
  • 怎么做外贸网站的邮箱签名搜索引擎优化是指什么
  • 网页制作基础教程免费邯郸网站seo
  • phpcms做网站感想漯河seo推广
  • 公司部门kpi绩效考核指标模板河北百度seo软件
  • 印团网网站是哪家做的唯尚广告联盟
  • 网红营销网站seo综合查询怎么用的
  • 西安地区网站建设云推广
  • wordpress个人站2020年关键词排名