使用formdata等格式传参调用服务一些写法
未有特别说明均为原创,转载注明出处。
最近在使用后端提供的服务时,要求使用formdata格式传参。
而平时都是这样使用的
export async function doDownloadfile(params) { return request(`${urlConfig.downloadfile}?fileId=${params[0]}&orderId=${params[1]}`, { method: 'get', headers: { 'token': localStorage.getItem("token") }, }); }
或者这样
export async function doInvoice(params) { return request(`${urlConfig.invoice}`, { method: 'post', headers: { 'Content-Type': 'application/json;charset=UTF-8', 'token': localStorage.getItem("token") }, body: JSON.stringify(params) }); }
JSON.stringify({"body":params[0],"companyName":params[1]})也可以这样写成键值对形式。
或者使用axios,set或者append都可以
let formData = new FormData() formData.set('body', params[0]) formData.set('companyName', params[1]); formData.set('payType', params[2]); formData.set('orderNum', params[3]); formData.set('total_fee', params[4]); formData.set('token', params[5]); axios({ method: 'post', url: `${urlConfig.pcPay}`, data: formData, headers: { 'Content-Type':'multipart/form-data',//'application/json;charset=UTF-8' 'token': localStorage.getItem('token') } }).then(function (response) { return response; } ) .catch(function (error) { return error; });
但是使用request
const reqParam ={ method:'post', url:`${urlConfig.pcPay}`, headers: { 'Accept':'application/json;charset=UTF-8',//深渊巨坑! 'token': localStorage.getItem('token') }, body:formData, }; return request(`${urlConfig.pcPay}`, reqParam);