PHP FormData XMLHttpRequest $ _FILES为空,但$ _POST提供了原始完整文件编码

时间:2019-05-17 22:31:21

标签: php file xmlhttprequest multipartform-data

我正在尝试通过AJAX上传文件,问题是为什么$ _FILES为空?

JavaScript示例

var formData = new FormData();
var fili = document.getElementById( divID ).files.length;
for (var x = 0; x < fili; x++) { formData.append( "fii" , $("#"+divID).prop("files")[x]); }

var xhr = new XMLHttpRequest(); xhr.open("POST", "/uboxhr.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(formData);

在我的PHP中

var_dump($_POST); // -->> I GET stuff like FULL RAW encoded 1�UV[(�c2����
var_dump($_FILES); // -->> Is EMPTY

如何获取$ _FILES来填充???

我尝试过

xhr.setRequestHeader('Content-type', 'multipart/form-data');

但没有运气,还是一样

我也尝试过

var_dump($_FILES['fii']);

此案例显示为“ Undefined index: fii

1 个答案:

答案 0 :(得分:0)

!!!我找到了:)

我删除这一行的那一刻

xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

一切都很好!