最近做的一個項目中有一個特例接口,傳json后端接收不到,對接的后端又不願意改接口,只能用formData方式傳參,由於好多年沒有用過formData,頭痛了一會,找到了解決方法,發現非常簡單,在此做個筆記!
var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456);
fetch('/users', {
method: 'POST',
body: formData
})
對象轉FormData對象
對於FormDat對象,像上面那種形式可以直接添加參數比較方便,但是對於對象或者嵌套對象:
let userObj = {userName: ’xxx', age: '21'}
formData.append('user', userObj)
如果已經有了一個對象,里邊字段非常多的話,可以這樣:
let param {{name:"張三"},{aa:"222"}}
let formData = new FormData();
Object.keys(param).forEach(key => {
formData.append(key, param[key]);
});
該問題方案解決方法來自於https://www.cnblogs.com/wonyun/p/7966967.html
