업데이트 된 방법 :
2016 년 3 월 현재 최신 버전의 Chrome 및 Firefox는 이제 FormData.entries()
FormData 검사를 지원 합니다. 소스 .
// Create a test FormData object
var formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');
// Display the key/value pairs
for (var pair of formData.entries()) {
console.log(pair[0]+ ', ' + pair[1]);
}
이것을 지적 해 주신 Ghost Echo 와 rloth 에게 감사드립니다 !
기존 답변 :
이 Mozilla 기사를 살펴본 후 FormData 객체에서 데이터를 가져올 수있는 방법이없는 것 같습니다. AJAX 요청을 통해 전송할 FormData를 빌드하는 데만 사용할 수 있습니다.
나는 또한 같은 질문을하는이 질문을 발견했다 : FormData.append ( "key", "value") is not working .
이 문제를 해결하는 한 가지 방법은 일반 사전을 작성한 다음 FormData로 변환하는 것입니다.
var myFormData = {
key1: 300,
key2: 'hello world'
};
var fd = new FormData();
for (var key in myFormData) {
console.log(key, myFormData[key]);
fd.append(key, myFormData[key]);
}
일반 FormData 오브젝트를 디버그하려는 경우 네트워크 요청 콘솔에서 검사하기 위해 전송할 수도 있습니다.
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(fd);