我正在发送一些数据 - 包括文件到一个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)**即可查看您的数据 –