Это сводит меня с ума! Я не могу понять, почему ajax не отправляет файл в php, есть ли кто-нибудь, кто может понять? Вот код:PHP и AJAX FormData не сообщается
----- ----- HTML
<input id="mmSelectedDoc" name="selectedFiles[]" type="file" multiple></input>
----- JS -----
mmSingFile = (document.getElementById("mmSelectedDoc").files)[0];
var mmFilesData = new FormData();
mmFilesData.append("selectedFiles[]", mmSingFile, encodeURIComponent(mmSingFile.name));
var x=new XMLHttpRequest();
x.onreadystatechange = function(e){
if (x.readyState==4 && x.status==200){
console.log(x.responseText);
}
}
log(mmFilesData.get("selectedFiles[]"));
x.open("POST","uploader.php", true);
x.setRequestHeader("Content-type", "multipart/form-data");
x.send(mmFilesData);
----- PHP -----
var_dump($_GET);
var_dump($_POST);
var_dump($_FILES);
die();
, когда я войти mmFilesData.get (...) перед отправкой, я могу видеть, что есть файл внутри, но, как журнал на onreadystatechange = 4 есть только пустые массивы. Если изменить тип содержимого для приложения/х-WWW-форм-urlencoded я получаю от должности var_dump результат, как этот:
["-----------------------------172450022319283172571100694258
Content-Disposition:_form-data;_name"]=>
string(813) ""selectedFiles[]"; filename="10434360_995996657086820_5574771356675124169_n.jpg"
Content-Type: image/jpeg
��here's in ascii the file content��
Что происходит ??? Спасибо вам всем!
GREAT !!!!! Ты один! Спасибо!!!!!!!!! –