반응형
jQuery AJAX 'multipart/form-data' 데이터를 보내지 않습니까?
AJAX 개체가 올바르게 구성되어 있고 올바른 Content-Type/MIME-Type 헤더가 전송되고 있는 것으로 보아 jQuery가 업로드 데이터를 전달하지 못하는 이유에 대해 난감합니다.
리터럴 내에 포함된 FormData 객체가 있는 요청과 FormData 객체를 직접 전달하는 요청의 두 가지 형태를 시도했습니다.
안타깝게도 어떤 방법으로도 전달할 수 없으며 $_FILES와 $_POST 모두 빈 배열입니다.
제가 사용하고 싶은 이상적인 요청은 다음과 같습니다.
다음 코드와 함께:
var files = new FormData();
$.each(context.prototype.fileData, function(i, obj) { files.append(i, obj.value.files[0]); });
var request = { action: 'upload', id: response.obj.id, data: files };
$.ajax({
type : 'POST',
url : context.controller,
data : request,
processData : false,
contentType : 'multipart/form-data',
mimeType : 'multipart/form-data',
success : function(r) {
console.log(r);
//if (errors != null) { } else context.close();
},
error : function(r) { alert('jQuery Error'); }
});
$_FILES와 $_POST를 모두 내보내려고 할 때 응답은(네트워크 탭과 콘솔을 모두 볼 때) 두 개의 빈 어레이뿐입니다.
당신은 통과해야 합니다.FormData
object를 데이터 매개 변수로 지정합니다.
var request = new FormData();
$.each(context.prototype.fileData, function(i, obj) { request.append(i, obj.value.files[0]); });
request.append('action', 'upload');
request.append('id', response.obj.id);
$.ajax({
type : 'POST',
url : context.controller,
data : request,
processData : false,
contentType : false,
success : function(r) {
console.log(r);
//if (errors != null) { } else context.close();
},
error : function(r) { alert('jQuery Error'); }
});
언급URL : https://stackoverflow.com/questions/12831680/jquery-ajax-multipart-form-data-not-sending-data
반응형
'programing' 카테고리의 다른 글
jQuery에서 $(이) 선택된 옵션을 얻는 방법은? (0) | 2023.10.05 |
---|---|
메이븐: 컴파일할 소스가 없습니다. (0) | 2023.09.25 |
powershell 콘솔에서 로그 파일을 보려면 어떻게 해야 합니까? (즉, 'less'에 해당하는 powershell) (0) | 2023.09.25 |
수학의 함수와 프로그래밍의 함수는 어떤 차이가 있습니까? (0) | 2023.09.25 |
VC++ 명령줄을 사용하여 .dll 및 .lib 파일 생성 (0) | 2023.09.25 |