이 코드를 사용하여 ajax로 파일을 업로드합니다.ajax로 웹 서버에서 데이터를 반환합니다.
$('form').submit(function(e) {
e.preventDefault();
var fd = new FormData(this);
$.ajax({url: $(this).attr('action'),
xhr: function() { // custom xhr (is the best)
var xhr = new XMLHttpRequest();
//load
xhr.upload.addEventListener("load", function(evt) {
$("#msg").text(evt.target.responseText);
}, false);
return xhr;
},
type: 'post',
processData: false,
contentType: false,
data: fd,
success: function(data) {
// do something...
}});
});
업로드가 완료되면 #msg div에 메시지를 표시하고 싶습니다. 메시지는 PHP를 사용하여 서버 측에 인쇄됩니다. 일반적으로 evt.target.responseText
에는 서버의 데이터가 들어 있지만 [object XMLHttpRequestProgressEvent]
(#msg에 기록됨)이 포함됩니다. evt.responseText
과 evt.response
을 인쇄했지만 모두 [object XMLHttpRequestProgressEvent]
을 반환합니다.
내가 바보이기 때문에 '웹 서버에서 아약스로 데이터 반환'대신 '자바로 웹 서버에서 데이터 반환'으로 제목을 변경했습니다. 누구든지이 사실을 빨리 고칠 수 있습니까? –