Я использую метод $ .ajax и xhr2 для загрузки файла с помощью метода $ .ajax.
Когда я использую любой стандартный объект для данных параметра $ .ajax, в $ _POST (php) возвращается правильный непустой массив.
JS:
data : {name:"john doe"}
PHP: print_r ($ _ POST)
Array
(
[name] => john doe
)
Однако, когда я присваиваю объект formData данным параметра, чтобы загрузить файл, в $ _FILES (php) возвращается пустой массив.
JS:
data : new FormData(document.getElementById('fileupload'))
PHP: print_r ($ _ ФАЙЛЫ)
Array
(
)
Мой html-код:
<form enctype="multipart/form-data">
<div id="myform">
<input type="file" name="fileupload" id="fileupload" />
<div id="submit">UPLOAD</div>
</div>
</form>
Мой код jQuery:
$('#submit').click(function(){
var formData = new FormData(document.getElementById('fileupload'));
$.ajax({
url : "upload.php",
type: "POST",
data : formData,
xhr: function(){
myXhr = $.ajaxSettings.xhr();
return myXhr;
},
success: function(data, textStatus, jqXHR){
console.log(data);
},
cache: false,
contentType : false,
processData: false
});
});
Вы случайно не знаете, что не так с моим кодом? Я не могу понять, почему файл не загружается. Спасибо за вашу помощь.
var formData = new FormData(document.getElement('form'));
- person Vinz243   schedule 06.06.2014