后端返回大数问题

news/2024/11/19 18:13:43/

这个问题并不难,但是在开发的时候没有注意到

  1. 后端返回了一个列表数据,包含id,这个id是一个大数,列表进入详情,需要将id传入到详情页面
  2. 详情页面内部通过id获取数据一直404,id不正确
  3. 找问题,从路由传参到请求数据发现id没有问题,然后和后端进行联调,发现后端返回的id和我获取的id不一致
  4. 实际问题产生的原因:后端返回了一个超过2的53次方的一个大数,而axios底层获取到后端原始json数据后通过JSON.parse处理,导致处理后的大数不精准了

  1. 让后端返回字符串格式
  2. 前端处理:
    1. 后端返回原始数据, 不让axios处理, 我们处理然后在交给aioxs
    2. axios他有一个配置函数transformResponse, 获取到的后端返回的原始数据json数据,在transformResponse内部通过JSONBig(json-bigint)处理后端返回的json数据,他在处理json数据的时候,会将大数处理为对象,将大数对象转为字符串使用,得到了正确的id,内部重写了toString
npm i json-bigint
import jsonBig from 'json-bigint'const JSONBig = jsonBig({ storeAsString: true })transformResponse: [function (data) {// 1. 找到了处理的时机try {return JSONBig.parse(data) // a.num + ''        155 4993 7742 } catch (err) {return data}},
],


http://www.ppmy.cn/news/1548289.html

相关文章

django从入门到精通(五)——表单与模型

好的,下面将详细介绍 Django 的表单与模型,包括它们的定义、使用、如何在 Django Admin 中结合使用,以及相关的字段类型和验证机制。 Django 模型与表单 1. Django 模型 Django 模型是一个 Python 类,用于定义数据库中的数据结…

【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)

& 第四届信号处理与通信技术国际学术会议(SPCT 2024) 2024 4th International Conference on Signal Processing and Communication Technology 2024年12月27-29日 中国深圳 www.icspct.com 第四届信号处理与通信技术国际学术会议&#x…

Python 正则表达式进阶用法:字符集与字符范围详解

Python 正则表达式进阶用法:字符集与字符范围详解 正则表达式是文本处理和数据清洗中不可或缺的工具。在前面的学习中,我们已经了解了基本的正则表达式匹配,如匹配单个字符、字符串开始和结束的位置等。今天,我们将进入正则表达式…

定时清理潜在客户列表中的无效邮箱可提高EDM电子邮件自动化营销邮件送达率

定时清理无效邮箱对于邮件营销来说,具有多重好处,这些好处直接关系到营销活动的效率、成本节约、品牌形象以及法律合规性。以下是几个关键方面: 提高邮件送达率: 无效邮箱(如不存在、拼写错误或已废弃的邮箱地址&…

Filebeat升级秘籍:解锁日志收集新境界

文章目录 一、什么是filebeat二、Filebeat的工作原理2.1 filebeat的构成2.1.1 Prospector 组件2.1.2 Harvester 组件 2.2 filebeat如何保存文件的状态2.3 filebeat何如保证至少一次数据消费 三、Filebeat配置文件四、filebeat对比fluented五、Filebeat的部署安装5.1裸金属安装5…

基于Canny边缘检测和轮廓检测

这段代码实现了基于Canny边缘检测和轮廓检测,从图像中筛选出面积较大的矩形,并使用OpenCV和Matplotlib显示结果。主要流程如下: 步骤详解: 读取图像: img cv2.imread(U:/1.png)使用cv2.imread()加载图像。 转换为灰…

ES操作命令

1.查看索引 curl -XGET "http://localhost:9200/_cat/indices?v" 2.删除索引 curl -X DELETE "http://127.0.0.1:9200/indexName" 3.ES最大聚合参数设置 index.max_result_window的默认值通常是10000,如果你需要返回更多结果,…

hydra基础知识

hydra基础知识 1、yaml的使用 1.1 基础介绍 主要是用来写配置文件 优势: 层级式可以写注释安装: pip install pyyaml1.2 语法 2、omegaconf 2.1 基础介绍 为什么需要omegaconf? omegaconf主要是对python原生的字典,列表类型的增强,通过omegaconf能够更好的处理yaml…