admin管理员组

文章数量:1287708

I have dependents array, which has multiple objects. I need to send that array of objects through form data. I have gone through so many tries but cannot get correct solution

    let dependents = [{name: "ashraf", number: 96546},{name: "himanshu", number: 98766}]

I was trying to append using

    var data = new FormData();
    data.append("dependents[]", dependents)

I have dependents array, which has multiple objects. I need to send that array of objects through form data. I have gone through so many tries but cannot get correct solution

    let dependents = [{name: "ashraf", number: 96546},{name: "himanshu", number: 98766}]

I was trying to append using

    var data = new FormData();
    data.append("dependents[]", dependents)

Share Improve this question edited Aug 22, 2019 at 8:25 Clarity 10.9k2 gold badges27 silver badges38 bronze badges asked Aug 22, 2019 at 7:48 user9883888user9883888 4192 gold badges9 silver badges17 bronze badges 1
  • Use dependents.concat(name of array to append), concat returns the new array. – SPlatten Commented Aug 22, 2019 at 7:51
Add a ment  | 

2 Answers 2

Reset to default 7

You can use Array#forEach to acplish this... however your array elements will be stringified obejcts.

const dependents = [{name: "ashraf", number: 96546},{name: "himanshu", number: 98766}]
const data = new FormData();
dependents.forEach(item => {
  data.append(`dependents[]`, JSON.stringify(item));
});
console.log(data.getAll('dependents[]'));

I like this:

const dependents = [{name: "ashraf", number: 96546},{name: "himanshu", number: 98766}]
const data = new FormData();

dependents.forEach((item, index) => {
  data.append(`dependents[${index}]name`, item['name']);
  data.append(`dependents[${index}]number`, item['name']);
});

And then when you receive the data, do something like this:

params['dependents'].values

本文标签: How to append array of objects through form data in JavascriptStack Overflow