2022. 9. 7. 06:40ㆍFront-end/JavaScript
리액트 프로젝트 진행 중 회원가입 페이지에서 프로필 사진을 업로드하기 위해 FormData를 사용했다.
const formData = new FormData();
const data = {
email: email.current.value,
nickname: nickname.current.value,
password: password.current.value,
};
formData.append("file", fileRef.current.files[0]);
formData.append(
"joinData",
new Blob([JSON.stringify(data)], { type: "application/json" })
);
console.log(formData) // FormData {}
위 코드와 같이 formData에 append 한 값을 확인하기 위해 console.log를 찍어봤지만 아무런 값도 나오지 않았다.
그래서 알아봤더니 브라우저 정책 때문이라고 한다.
https://stackoverflow.com/questions/17066875/how-to-inspect-formdata
How to inspect FormData?
I've tried console.log and looping through it using for in. Here it the MDN Reference on FormData. Both attempts are in this fiddle. var fd = new FormData(), key; // poulate with dummy d...
stackoverflow.com
하지만 보는 방법이 없는 건 아니다. 아래 함수를 사용하면 key, value 값을 볼 수 있다.
for (let key of formData.keys()) {
console.log(key);
}
for (let value of formData.values()) {
console.log(value);
}
https://developer.mozilla.org/en-US/docs/Web/API/FormData/keys
FormData.keys() - Web APIs | MDN
The FormData.keys() method returns an iterator which iterates through all keys contained in the FormData. The keys are strings.
developer.mozilla.org
https://developer.mozilla.org/en-US/docs/Web/API/FormData/values
FormData.values() - Web APIs | MDN
The FormData.values() method returns an iterator which iterates through all values contained in the FormData. The values are strings or Blob objects.
developer.mozilla.org
FormData 인터페이스는 form 필드와 그 값을 나타내는 일련의 key/value 쌍을 쉽게 생성할 수 있는 방법을 제공한다.
https://developer.mozilla.org/ko/docs/Web/API/FormData
FormData - Web API | MDN
FormData 인터페이스는 form 필드와 그 값을 나타내는 일련의 key/value 쌍을 쉽게 생성할 수 있는 방법을 제공합니다. 또한 XMLHttpRequest.send() (en-US) 메서드를 사용하여 쉽게 전송할 수 있습니다. 인코딩
developer.mozilla.org
'Front-end > JavaScript' 카테고리의 다른 글
[JS] 자바스크립트의 깊은 복사와 얕은 복사 (0) | 2023.01.02 |
---|---|
JavaScript 프로젝트에서 TypeScript를 사용해야 할까? - 장단점 (0) | 2022.09.14 |
자바스크립트의 ES(ECMAScript)란? - ES5/ES6 (0) | 2022.08.15 |
자바스크립트(JavaScript) 언어의 특성 몇 가지 정리 (0) | 2022.08.11 |
[JS] 자바스크립트로 덱(Deque) 구현하기 (0) | 2022.04.13 |