Khi tôi sử dụng XMLHttpRequest, tệp được tải lên chính xác bằng cách sử dụng FormData
. Tuy nhiên, khi tôi chuyển sang jQuery.ajax
, mã của tôi bị hỏng.Cách tải lên tệp bằng jQuery.ajax và FormData
Đây là mã ban đầu làm việc:
function uploadFile(blobFile, fileName) {
var fd = new FormData();
fd.append("fileToUpload", blobFile);
var xhr = new XMLHttpRequest();
xhr.open("POST", "upload.php", true);
xhr.send(fd);
}
Dưới đây là thất bại jQuery.ajax
nỗ lực của tôi:
function uploadFile(blobFile, fileName) {
var fd = new FormData();
fd.append("fileToUpload", blobFile);
var xm = $.ajax({
url: "upload.php",
type: "POST",
data: fd,
});
}
Tôi đang làm gì sai? Làm thế nào tôi có thể tải tập tin lên một cách chính xác, sử dụng AJAX?
Tôi sẽ upvote 1000 lần nếu có thể. Trong số tất cả các câu trả lời khác cho câu hỏi này trên SO, điều này làm việc tốt nhất và là đơn giản nhất. cảm ơn. – sqram
Cảnh báo: FormData không được hỗ trợ trong IE cho đến phiên bản 10. –
Trong câu trả lời này (và câu hỏi), 'blobFile' là gì? Nó là một input.val()? –