Uniapp的H5以及App不支持后端传FormData类型参数的解决方案
在uniapp中不支持FormData的传参,这就很恶心;如果强行传的话会提示,请求失败的报错信息。
因为后端必须要FormData类型的传参,所以在查阅一系列方案后,有一种解决办法可以完美解决。
代码:
init() {
const form = new FormData()
form.append('businessType', this.businessType)
form.append('businessId', this.businessId)
form.append('moduleId', this.modelId)
form.append('tableName', this.mainTable)
let formDataStr = '';
form.forEach((value, key) => {
if (formDataStr !== '') {
formDataStr += '&';
}
formDataStr += encodeURIComponent(key) + '=' + encodeURIComponent(value);
});
uni.request({
url: this.define.baseURL + '/api/file/getAttachmentList',
method: 'POST',
data: formDataStr,
header: {
'content-type': 'application/x-www-form-urlencoded',
},
success: (res) => {
this.viewAttachmentTableData = res.data.data
},
fail: (err) => {
console.error('请求失败', err);
}
});
},