Closed dm3030110q closed 2 years ago
工具本身发送的时候对body是经过utf8编码的,请确认后台是否也是通过utf8解码,以及解码出来的是否是乱码。小程序调试工具显示的可能会是乱码,但是后台接收是正常的。
我刚才发现了乱码的原因,同时使用formData.append和formData.appendFile就会导致formData.append添加的中文乱码。
我这边同时使用没有问题是正常,你代码贴出来看看
`
async formDataFn(tempFilePath) {
let _this = this
let formData = new FormData();
formData.append("tokenId", _this.loginInfo.tokenId);
formData.append("token", _this.loginInfo.token);
formData.append("startlongitude", _this.longitude);
formData.append("startlatitude", _this.latitude);
formData.append("outsideSite", _this.addressName);
formData.append("reason", _this.reason);
formData.append("contactName", _this.name);
formData.append("contactPhone", _this.phone);
formData.append("companyName", _this.company);
formData.append("customerId", '');
formData.append("applyId",'');
formData.append("serialNumber", '');
formData.appendFile("startPicture", tempFilePath,);
let data = formData.getData();
console.log(data);
const res = await this.$request({
url: 'oa_WebsaveOutside.do',
method: 'POST',
data: data.buffer,
header: {
'content-type': data.contentType
}
})
if (res.statusCode == 200) {
if (res.data.code === '1') {
console.log('外勤打卡成功');
} else {
uni.showToast({
icon: 'none',
title: res.data.message
})
}
}
},
`
我这边测试正常的,你要不跟后台确认下后台收到的数据是否正常
我记得早的版本的开发工具调试器里面显示乱码,但是后台接收到的是正常的。我现在用的最新版,调试器也是正常显示的。
好的,谢谢您,我再尝试一下。
你好,我使用 formData.append("outsideSite", _this.addressName); 时发现_this.addressName如果是中文的话,发送出去的请求会是乱码,请问有解决方法吗?