Javacript
FormData API 사용 시 주의점
선즈반
2018. 6. 11. 17:24
FormData API를 사용하여 데이터 전송 시 데이터에 파일이 있을 경우 프로퍼티를 정확하게 설정해야 파일이 제대로 전송된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $.ajax({ type : "POST", url : "서블릿 URL", data : formData, processData: false, // 반드시 작성 contentType: false, // 반드시 작성 success : function(data) { if(data.result){ alert("Success"); }else{ alert(data.result); } }, err : function(err) { alert(err.status); } }); |
processData와 contentType을 선언하고 둘다 false로 설정해주어야 한다.
processData가 없을 경우 - Illegal invocation error 발생
contentType이 없을 경우 - application/x-www-form_urlencoded로 세팅
contentType이 true일 경우 - true로 세팅
contentType이 false일 경우 - multipart/fprm-data로 선언되고 boundary key도 정상발급
Header의 Request Payload 정보(전송된 파일 정보- contentType에 있는 boundary 정보와 일치)
참고
1 2 3 |