admin管理员组文章数量:1326699
How can I define object in object in FormData?
for example:
var item = {
description: 'kavan ahmadi',
price : '0.00',
item1:{ firtname:'k1', file:'file'},
count:'1'
}
How can I define object in object in FormData?
for example:
var item = {
description: 'kavan ahmadi',
price : '0.00',
item1:{ firtname:'k1', file:'file'},
count:'1'
}
Share
Improve this question
asked Mar 13, 2021 at 8:27
Kavan AhmadiKavan Ahmadi
411 gold badge1 silver badge5 bronze badges
2 Answers
Reset to default 4To define the object in form data, you need to append each object property and value into formData.
Just append the key and its value into formData.
Here is the ES6 approach:
function getFormData(object) {
const formData = new FormData();
Object.keys(object).forEach(key => {
if (typeof object[key] !== 'object') formData.append(key, object[key])
else formData.append(key, JSON.stringify(object[key]))
})
return formData;
}
Just pass your object into the getFormData function, and it will do the rest.
Check with your code example: https://jsbin./lurocexoxi/edit?js,console,output
You cannot pass non-primitive values (eg objects, arrays) as values to formData.append
. Your choices, then, are to use dot-syntax in your keys:
formData.append('item1.firstName', 'Jimminey');
formData.append('item1.lastName', 'Cricket');
Or stringify the object;
formData.append('item1', '{ "firstName": "Jimminey", "lastName": "Cricket" }');
Here's an example, with non-primitive values converted to JSON strings:
let formData = new FormData();
// Loop through the object
for (let [key, val] of Object.entries(item)) {
// append each item to the formData (converted to JSON strings)
formData.append(key, JSON.stringify(val));
}
If you want to send plex data in a network request, you're better off sending it as application/json
(JSON document), instead of multipart/form-data
(FormData)
本文标签: javascriptHow can I can convert my JS Object to FormDataStack Overflow
版权声明:本文标题:javascript - How can I can convert my JS Object to FormData? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742198212a2431473.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论