Leo星星
Leo星星
  • 发布:2025-06-22 08:34
  • 更新:2025-06-22 08:34
  • 阅读:39

【报Bug】鸿蒙Next端uni.request的post的data中数组丢失

分类:鸿蒙Next

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: Sequola15.5

HBuilderX类型: Alpha

HBuilderX版本号: 4.72

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS 5.0.1

手机厂商: 华为

手机机型: Mate70Pro+

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

一、可以成功发送到后端的代码:
const arr = [{id:1},{id:2}]
uni.request({
url: 'https://www.example.com/request',
data: {
arr: arr
},
success: (res) => {
console.log(res.data);
}
});
后端可以正常接收到arr

二、不可以成功发送到后端的代码:
this.arr = [{id:1},{id:2}]
uni.request({
url: 'https://www.example.com/request',
data: {
arr: this.arr
},
success: (res) => {
console.log(res.data);
}
});
后端接收到arr是空的

操作步骤:

this.arr = [{id:1},{id:2}]
uni.request({
url: 'https://www.example.com/request',
data: {
arr: this.arr
},
success: (res) => {
console.log(res.data);
}
});

预期结果:

后端可以接收到arr

实际结果:

后端不可以接收到arr

bug描述:

uni.requset的post的data中放数组是很常见的,并且在uniapp中使用多年,无论是ios、安卓、web,还是鸿蒙Next的上一个版本中也没有出问题。但这一次打包鸿蒙Next发现问题。只要data中的数组是来自于this,就无法正常被发送,似乎丢失了。

目前我想要修复这个问题,需要在data中将所有数组都进行一次拷贝,无论是来自this还是vuex,以前是没有这么麻烦的。

具体,我讲写到下面的代码示例中。

2025-06-22 08:34 负责人:无 分享
已邀请:

要回复问题请先登录注册