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

网站官网建设方案免费建站平台排名

网站官网建设方案,免费建站平台排名,北京专业做网站推广,版面设计排版这里 我简单模仿了一个接口 这里 我单纯 返回一个long类型的雪花id 然后 前端 用 axios 去请求 大家知道 axios 会对请求数据做一次处理 而我们 data才是拿到我们java这边实际返回的东西 简单说 就是输出一下我们后端返回 的内容 这里 我们网络中显示的是 35866101868095488…

这里 我简单模仿了一个接口
在这里插入图片描述
这里 我单纯 返回一个long类型的雪花id
然后 前端 用 axios 去请求
在这里插入图片描述
大家知道 axios 会对请求数据做一次处理 而我们 data才是拿到我们java这边实际返回的东西 简单说 就是输出一下我们后端返回 的内容

这里 我们网络中显示的是 358661018680954880
在这里插入图片描述
但神奇的一幕 发生了 我们实际输出的是 358661018680954900
在这里插入图片描述
这个问题 我之前的文章也解释过 这叫 java雪花id超长 导致前端接受失去精度
因为 前端js的数字类型 number 最大容量小于 java的long
导致 无法负载的值被四舍五入了
我之前说过 后端解决 直接转字符串即可
但其实 前端也可以通过第三方插件 json-bigint来处理此问题
我们还是先安装依赖
终端输入

npm install json-bigint

在这里插入图片描述
然后 我们可以修改一下发送请求的代码

<script>
import axios from "axios";
import JSONbig from 'json-bigint';export default {name: 'App',data(){return {}},created(){axios({url: '/books',headers: {// 可以根据需要设置请求头},// 使用transformResponse选项将响应数据进行自定义处理transformResponse: [(data) => {// 使用JSONbig对返回的数据进行处理return JSONbig.parse(data);}]}).then(res => {console.log(res.data);}).catch(error => {console.log(error);});},
}
</script>

简单说 就是 在axios的transformResponse中 用json-bigint提供的parse函数去处理一下
这样 我们返回的内容如果过程 他就会帮我们分段处理
在这里插入图片描述
放不下 他会帮我们分成数组
在这里插入图片描述
例如 一个对象中 id超长 那么 原来的id字段就会变成一个这样的数据 放不下就帮你分成两个数组下标 到时 你自己再拼合一下就好了

然后 我们想将数据传回给后端 我们可以先将他们处理成字符串
例如 我们将 then 函数中的内容改成这样

let id = res.data.c.join("");
console.log(id);

我们 拿到 c的数组
然后 将他拼成字符串
我们运行项目 看网络
在这里插入图片描述
然后看控制台
在这里插入图片描述
然后 这里一个知识点 BigInt js另一个种数字类型 而他的容量是要比Number大的
我们引入一下第三方依赖

npm install big-integer

然后 我们将代码改成这样

<script>
import axios from "axios";
import JSONbig from 'json-bigint';
import bigInt from 'big-integer';export default {name: 'App',data(){return {}},created(){axios({url: '/books',headers: {// 可以根据需要设置请求头},// 使用transformResponse选项将响应数据进行自定义处理transformResponse: [(data) => {// 使用JSONbig对返回的数据进行处理return JSONbig.parse(data);}]}).then(res => {let id = res.data.c.join("");id = bigInt(id);console.log(id);}).catch(error => {console.log(error);});},
}
</script>

这里 我们用big-integer处理超长数字类型的数据
运行结果如下
在这里插入图片描述
这里这个value 就是我们要的东西了

但其实 如果你想把id还给后端 就不需要big-integer了
我们直接换字符串 后端的long 会自动转换的 例如 这里我们写个属性类
在这里插入图片描述
就一个字段 是个long类型的id字段
然后我在写个接口
接收前端传过来的 一个 属性类对象 就是只有一个long id字段的属性类的对象
在这里插入图片描述
然后 前端直接改成这样

<script>
import axios from "axios";
import JSONbig from 'json-bigint';
//import bigInt from 'big-integer';export default {name: 'App',data(){return {}},created(){axios({url: '/books',headers: {// 可以根据需要设置请求头},// 使用transformResponse选项将响应数据进行自定义处理transformResponse: [(data) => {// 使用JSONbig对返回的数据进行处理return JSONbig.parse(data);}]}).then(res => {let id = res.data.c.join("");axios.post('/books', { id: id }).then(res => {console.log(res.data);}).catch(error => {console.log(error);});}).catch(error => {console.log(error);});},
}
</script>

这里 我们处理成字符串后 马上就调用 post请求 将字符串id仍会给了后端
那么 我们这个id是字符串类型的 而java属性类中是用 long接的
能行吗?
我们直接运行
在这里插入图片描述
前端控制台 可以看到传了一个对象 其中有一个字段 字符串的id
我们看java控制台
在这里插入图片描述
很明显 他已经自动帮我们 让字符串变成 long了

http://www.yayakq.cn/news/598975/

相关文章:

  • 网站没域名浙江省住房建设厅网站首页
  • flash网站优缺点提交网站入口
  • 搭建广告网站费用网站布局 种类
  • 怎么让网站被收录上海百度公司总部
  • 1m带宽做网站快不四线城市网站建设方向及营利点
  • 如何将aaa云主机做网站手机网站用什么软件
  • 无忧网站建设哪家便宜wordpress网址重定向
  • 深圳英文建站公司wordpress安装后台
  • 网站的可行性分析怎么写郴州市高中阶段招生录取系统
  • 网站下拉菜单设计雅安建设局网站
  • 网站建设保密协议书成都电子网站建设多少钱
  • 青岛开发网站单位网站备案流程
  • 厦门企业网站建设方案文明网站建设工作进度表
  • 手机网站自动跳转代码开网站挣不挣钱
  • 成都企业网站设计服务商建设工程质量管理条例2020
  • 广州站到广州南站地铁要多久天河门户网站建设
  • 网站建设代理推广徽信xiala5效果好琼海建设网站
  • 网站开发工资一般多少钱网站建设规划书万能
  • 建站空间怎么选网页制作的常用开发工具是什么
  • 帝国网站如何做中英文切换帮朋友做网站
  • 最牛免费网站建设建设银行网站买手机
  • 网站关键词设几个在线logo制作生成免费
  • 网站维护员招聘通化网站建设公司
  • 17一起做网店网站php企业网站源码下载
  • 怎样建立网站绍兴网站建设企业
  • eclipse做网站代码互联网行业都有哪些工作岗位呢
  • 国外优秀的html5网站wordpress怎么加地图吗
  • 珠三角网站建设wordpress会员系统
  • 莆田 网站建设广东手机网站建设报价
  • 国内精品网站建设泗洪做网站公司