支付宝小程序request的data为数组时会导致传参是空对象{}
Closed this issue · 6 comments
cucuzi commented
发行方式
小程序
具体平台
钉钉小程序 1.25.10
支付宝小程序 2.9.30
开发环境
Windows
项目创建方式
HBuilderX
依赖版本
HBuilder X 4.76.2025082103
vue3
问题描述
在钉钉小程序中使用如下代码发送请求会导致data始终为空对象{}
uni.request({
url: "xxxx",
method: "POST",
data: []
})
本地排查request后发现在 commit: 076f176 这个提交点修改了对data的处理:
重现步骤
在hbuilder x中直接新建一个uni-ui项目,然后修改index中代码为以下:
<template>
<view class="container">
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
},
created() {
uni.request({
url: "https://baidu.com/",
method: "POST",
data: [{
a: '1'
}]
})
}
}
</script>
<style>
.container {
padding: 20px;
font-size: 14px;
line-height: 24px;
}
</style>
期望行为
No response
实际行为
No response
截图或录屏
No response
chouchouji commented
你的意思是 data 传入有值的数组也会变成 '{}' 吗?
cucuzi commented
你的意思是 data 传入有值的数组也会变成
'{}'吗?
对,因为isPlainObject传数组后返回了"[object Array]"而不是"[object Object]"
Otto-J commented
原本的修复不健壮,未考虑数组字符串的情况。目前钉钉小程序这里仍然需要发送字符串之后结果
Otto-J commented
在支付宝小程序中使用如下代码发送请求会导致data始终为空对象{}
这里你说的应该是 钉钉小程序吧?
cucuzi commented
在支付宝小程序中使用如下代码发送请求会导致data始终为空对象{}
这里你说的应该是 钉钉小程序吧?
是我弄错了,已修改
Otto-J commented
请使用最新版 HBuilderX 重试一下。如果仍有问题请 reopen