我正在發送一些數據 - 包括文件到一個php,如果我只是通過HTML併發布所有工作正常,但不是嘗試上傳它與Ajax時,我不知道爲什麼。使用AJAX將文件上傳到PHP
$scope.aceptar = function() {
var form = $('form');
var formData = new FormData(form);
var file_1 = document.getElementById('file_1').files[0];
var file_2 = document.getElementById('file_2').files[0];
var file_3 = document.getElementById('file_3').files[0];
formData.append(file_1.name, file_1);
formData.append(file_2.name, file_2);
formData.append(file_3.name, file_3);
$.ajax({
method: "post",
url: "http:dsfs43r4.php",
data: formData,
processData: false,
async: false,
success: function(data) {
console.log(data);
},
error: function(data) {
alert("error");
}
});
}
而且在PHP我只能隨聲附和$ _FILES,但我發現
array(0) {}
爲Chrome的控制檯上的答案。
編輯:
如果我只是做:
<form id="theForm" enctype="multipart/form-data" action="http://ge/_m.php" method="post">
<button type="submit" ng-click="aceptar()">Aceptar</button>
</form>
我得到這個$ _POST - 這是我期待:
陣列(15){ [「Lote」] = > string(8)「tyrrtyrw」 [「Kg__muestra」] = > 串(0) 「」 [ 「Kg__ceb__aprovechable」] = > 串(0) 「」 [ 「 -/50_mm」] = > 串(0) 「」 [ 「50/60_mm」] = > 串(0) 「」 [ 「60/75_mm」] = > 串(0) 「」 [ 「75/90_mm」] = > 串(0) 「」 [ 「90/+ _毫米」] = > 串(0) 「」 [ 「Kg__destrío」] = > 串(0) 「」 [ 「Kg__podridos」] = > 串(0) 「」 [ 「Kg__merma」] = > 串(0) 「」 [ 「Kg__podrido_interno」] = > 串(0) 「」 [ 「Kg__germinación_int__1/ 3」] = > 串(0 ) 「」 [ 「Kg__germinación_int__2/ 3」] = > 串(0) 「」 [ 「Cantidad_en_Kg _」] = > 串(0) 「」 } HUBO未problema人蘇比爾洛斯ficheros。
所以IDK爲什麼通過ajax做不到這個結果。
什麼是請求的內容類型標題值?它應該是multipart/form-data。 –
我注意到的第一件事是'http:dsfs43r4.php' atleast使它成爲'http:// yourdomain.com/dsfs43r4.php'。 –
你的PHP文件中沒有** $ _ FILES GLOBAL **在這種情況下,只需** var_dump($ _POST)**即可查看您的數據 –