반응형

ajax로 파일업로드할떄

 

contentType: false

processData: false

 

이 없으면 illegal invocation Error가 뜸. 

 

결론: ajax로 파일 업로드할 때는 

contentType: false

processData: false

 

 

======================================================

2021.03.04 내용 추가

Form 데이터를 감싸서 파일로 던질때는 전부다 Name으로 HTML태그로 넣어야지 데이터를 보낼 수 있고.

 

Form ID로 아래와 같이 감싸서 data를 Ajax로 보내야지만 back단으로 보낼 수 있다.

var formData = new FormData(vForm[0]);

 

이때 vForm은 해당 form의 ID를 넣어주면 됩니다.

 

아래는 예시

var vForm;

if (matchMedia("screen and (min-width: 1025px)").matches) 
{
	//pc
	vForm = $("#SolutionQ_Form_pc");
} 
else 
{
	//mo
	vForm = $("#SolutionQ_Form_mo");
}

var formData = new FormData(vForm[0]);

$.ajax({
	type: "POST",
	url: "/HP_File/Upload_EmailFiles",
	async: true,
	dataType: "json",
	contentType: false, //Ajax로 이메일 보낼 때 필수 추가 하여야 합니다.
	processData: false, //Ajax로 이메일 보낼 때 필수 추가 하여야 합니다.
	data: formData,
	success: function (result) {

	}
});

 

+ Recent posts