Tôi đã gặp sự cố khi gửi tệp tới tập lệnh PHP bên máy chủ bằng cách sử dụng chức năng ajax của jQuery. Có thể lấy Danh sách tệp với $('#fileinput').attr('files')
nhưng làm cách nào để gửi Dữ liệu này đến máy chủ? Mảng kết quả ( $_POST
) trên tập lệnh php-server là 0 ( NULL
) khi sử dụng tập tin đầu vào.
Tôi biết điều đó là có thể (mặc dù tôi không tìm thấy bất kỳ giải pháp jQuery nào cho đến bây giờ, chỉ có mã Prototye ( http://webreflection.blogspot.com/2009/03/safari-4-multipl-upload-with-proTHER.html ) ).
Điều này dường như là tương đối mới, vì vậy xin vui lòng không đề cập đến việc tải lên tệp sẽ là không thể thông qua XHR / Ajax, vì nó chắc chắn hoạt động.
Tôi cần chức năng trong Safari 5, FF và Chrome sẽ tốt nhưng không cần thiết.
Mã của tôi bây giờ là:
$.ajax({
url: 'php/upload.php',
data: $('#file').attr('files'),
cache: false,
contentType: 'multipart/form-data',
processData: false,
type: 'POST',
success: function(data){
alert(data);
}
});
$(':file')
để chọn tất cả các tập tin đầu vào. Nó chỉ đơn giản hơn một chút.