티스토리 뷰

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 정보와 일치)



참고


댓글