2017-11-25 21 views
0

JSONのようにFormDataでマルチレベルのjavascriptオブジェクトを送信できますか?例えばFormDataでjsonを送信

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

いるFormDataを経由して、それを送信するために、私はこの

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']); 
} 

を行う必要があり、私は単に

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

を行う場合、サーバは「だけ見ています[オブジェクトオブジェクト] '

これらのアイテムと並んでいくつかのファイルを送信するため、JSONを投稿できません。

答えて

0

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

+0

複数のフィールドをすべてのフィールドを反復せずに送信する方法はありますか? Like data.append( 'items1 []'、JSON.stringify(data.items1));data.append( 'items2 []'、JSON.stringify(data.items2)); – Vitaliy

+0

もう一つのオプションは、フォーム上で '.serialize()'を呼び出すことです。詳細情報[こちら](https://api.jquery.com/serialize/) – ztadic91

関連する問題