FormData() 오류문제
본문
이미지 처리를 클릭, 드레그 두가지 같이 사용하게 하려고 합니다.
(드레그시 바로 업로드가 아니라 전송 액션시 업로드 처리)
그래서 new FormData(); 를 이용해서 처리 해볼려고 하는데요.
클릭 부분에서 new FormData();를 인식 못하는데 이거 왜 그런지 알수 있을까요.
$(function() {
var formData = new FormData();
}
function aaa() {
for (var key in formData) { //요기서 defined 오류
alert("attr: " + key + ", value: " + formData[key]);
}
}
답변 2
var 를 붙이면 해당 변수는 해당 스코프 내에서만 동작함(보통 {~~~} 안)
var 없으면 전역 globalThis(보통 window)의 변수로 등록되서 전역 변수처럼 사용할 수 있음.
즉, 보통 저렇게 하고 싶다면
var formData = null
$(function() {
formData = new FormData();
}
처럼 하면 되는데
빈 FormData 객체 만드는건 document load 순서와 전혀 상관 없으므로
var formData = new FormData();
하면 될것 같습니다.
var formData;
$(function() {
formData = new FormData();
}
위처럼 한번 전역변수로 선언해 보시겠어요?
!-->
답변을 작성하시기 전에 로그인 해주세요.