2017-11-25 12 views
0

JSON과 같이 FormData에 다중 레벨 JavaScript 객체를 보낼 수 있습니까?json을 FormData로 보내기

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

나는 단순히

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

을 할 경우이

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

을 할 필요가 FormData로 보내하기 위해서 그런 다음 서버는 본다 '[: 예를 들어

개체 개체] '

이 항목들과 함께 일부 파일을 보내기 때문에 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