当我尝试发送带有ajax php代码的FormData对象时,看不到我的文件。数组 $_FILES
为空,也$_POST
。但是在浏览器中 ajax 请求发送此文件。
<input type="file" name="fileToUpload" id="fileToUpload" value=""
<input id="uploadxml" class="upload-excel button" type="submit" value="Upload Excel File"
name="button">
$submit.on('click', function(e) {
e.preventDefault();
var formData = new FormData();
var xhr = new XMLHttpRequest();
formData.append('file', jQuery('#fileToUpload').prop('files')[0]);
xhr.open('POST', 'url', true);
xhr.send(formData);
xhr.onreadystatechange = function() {
if(xhr.status !== 200) {
console.log(xhr.status + ': ' + xhr.statusText);
} else {
if(xhr.readyState == 4) {
console.log(xhr.responseText);
}
}
};
});
<?php
echo $_POST;
echo $_FILES['file'];
?>
PHP 看不到来自 javascript ajax 的数据 FormData (输入类型文件)解决