未有特別說明均為原創,轉載注明出處。
最近在使用后端提供的服務時,要求使用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);