Vitaliy
Vitaliy

Reputation: 429

Send json in FormData

Can I send multilevel javascript object in FormData like in JSON?

For example:

{
     items: [
         {'title': 'first', 'amount': 20},
         {'title': 'second', 'amount': 3}
     ]
}

In order to send it via FormData I have to do this

const data = new FormData;
for(let i = 0; i < obj.items.length; i++) {
    data.append(`items[${i}][title]`, obj.items[i]['titlte']);
    data.append(`items[${i}][title]`, obj.items[i]['titlte']);
}

If I do simply

data.append(`items[]`, obj.items);

Then server sees only '[Object object]'

I can not post JSON, because alongside with these items I send some files.

Upvotes: 0

Views: 4322

Answers (1)

ztadic91
ztadic91

Reputation: 2804

try to send data.append('items[]', JSON.stringify(obj.items));

Upvotes: 1

Related Questions