--- title: FormData.append() slug: Web/API/FormData/append translation_of: Web/API/FormData/append ---
{{APIRef("XMLHttpRequest")}}
{{domxref("FormData")}} 인터페이스의 append()
메서드는 FormData
객체의 기존 키에 새 값을 추가하거나, 키가 없는 경우 키를 추가합니다.
{{domxref("FormData.set")}} 과 append()
의 차이점은 지정된 키가 이미 있으면, {{domxref("FormData.set")}} 은 모든 기존 값을 새 값으로 덮어쓰기를 합니다. 반면 append()
는 기존 값 집합의 끝에 새로운 값을 추가합니다.
메모: 이 메서드는 웹워커(Web Workers)에서도 사용할 수 있습니다.
이 메서드에는 두 가지 버전이 있습니다: 매개변수가 두 개인 버전과 세 개인 버전입니다:
formData.append(name, value); formData.append(name, value, filename);
name
value
에 포함되는 데이터 필드의 이름입니다.value
filename
{{optional_inline}}메모: {{domxref("Blob")}} 을 FormData
객체에 추가 할 데이터로 지정하면, "Content-Disposition" 헤더에서 서버에 리포트하는 파일 이름이 브라우저마다 다를 수 있습니다.
Void.
다음 코드를 따라 빈 FormData
객체를 만듭니다:
var formData = new FormData(); // Currently empty
{{domxref("FormData.append")}}를 사용하여 key/value 쌍을 추가할 수 있습니다:
formData.append('username', 'Chris'); formData.append('userpic', myFileInput.files[0], 'chris.jpg');
일반 form 데이터와 마찬가지로 동일한 이름의 여러 값을 추가할 수 있습니다. 예를들면 (그리고 이름에 []를 추가하여 PHP의 명명 규칙과 호환이 가능합니다):
formData.append('userpic[]', myFileInput.files[0], 'chris1.jpg'); formData.append('userpic[]', myFileInput.files[1], 'chris2.jpg');
이 기술을 사용하면 서버에 올라간 결과 데이터가 루프를 도는데 도움이 되는 구조이기 때문에, 이 기술을 사용하면 다중 -파일 업로드를 보다 쉽게 처리할 수 있습니다.
Specification | Status | Comment |
---|---|---|
{{SpecName('XMLHttpRequest','#dom-formdata-append','append()')}} | {{Spec2('XMLHttpRequest')}} | Initial definition |
{{Compat("api.FormData.append")}}