Javascript Ajax文件上载-服务器端错误
我试图通过HTML5文件API实现ajax文件上传。这是基于阿法扎尔·艾哈迈德·泽山对这个问题的回答 我基本上复制了他写的全部代码,但无法让它工作 这里的主要目的是能够将Javascript Ajax文件上载-服务器端错误,javascript,php,jquery,ajax,html,Javascript,Php,Jquery,Ajax,Html,我试图通过HTML5文件API实现ajax文件上传。这是基于阿法扎尔·艾哈迈德·泽山对这个问题的回答 我基本上复制了他写的全部代码,但无法让它工作 这里的主要目的是能够将.xls和.xlsx文件上载到服务器,以便以后使用PHPExcel使用它们 这是我的HTML: <form class="form-uploadXLS" method="post" action="php/uploadXLS.php" enctype="multipart/form-data"> <di
.xls
和.xlsx
文件上载到服务器,以便以后使用PHPExcel
使用它们
这是我的HTML:
<form class="form-uploadXLS" method="post" action="php/uploadXLS.php" enctype="multipart/form-data">
<div class="form-group">
<div class="col-md-12">
<input type="file" name="xls" class="xls" />
</div>
</div>
<input type="button" value="Upload" class="btn-uploadXLS" />
</form>
<progress></progress>
上传按钮的onClick
事件:
$('.xls').on('change', function () {
var file = this.files[0];
var fileName = file.name;
var fileType = file.type;
var fileSize = file.size;
console.log("file name: " + fileName + ", type: " + fileType + ", size: " + fileSize);
});
$('.btn-uploadXLS').on('click', function (event) {
event.preventDefault();
console.log("Upload button clicked");
var formData = new FormData($('.form-uploadXLS')[0]);
$.ajax({
url: 'php/uploadXLS.php', //Server script to process data
type: 'POST',
xhr: function () { // Custom XMLHttpRequest
var myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) { // Check if upload property exists
myXhr.upload.addEventListener('progress', progressHandlingFunction, false); // For handling the progress of the upload
}
return myXhr;
},
//Ajax events
beforeSend: function (stuff) {
console.log("BeforeSend");
console.log(stuff);
},
success: function (data) {
console.log("Success!");
console.log(data);
},
error: function (error) {
console.log("Error!");
console.log(error);
},
// Form data
data: formData,
//Options to tell jQuery not to process data or worry about content-type.
cache: false,
contentType: false,
processData: false
});
});
编辑从这里开始:
最后,这里是我的PHP代码,用于打印$\u文件数组:
if(!empty($_FILES['xls'])) {
echo '<pre>',print_r($_FILES,1),'</pre>';
}
else {
die('POST ÜRES');
}
由于某些原因,我无法访问错误消息,它只包含数字4
我做错了什么?查找您需要的文件
$\u文件['xls']
不是$\u POST
阅读
要获得更多信息,只需打印数组
echo“”,打印($文件,1),“”
阅读
获取您需要的文件
$\u文件['xls']
不是$\u POST
阅读
要获得更多信息,只需打印数组
echo“”,打印($文件,1),“”
阅读
获取您需要的文件
$\u文件['xls']
不是$\u POST
阅读
要获得更多信息,只需打印数组
echo“”,打印($文件,1),“”
阅读
获取您需要的文件
$\u文件['xls']
不是$\u POST
阅读
要获得更多信息,只需打印数组
echo“”,打印($文件,1),“”
阅读
谢谢您的回答!现在$\u FILES['xls']变量不是空的,但是我得到了错误。我编辑了这个问题。谢谢你的回答!现在$\u FILES['xls']变量不是空的,但是我得到了错误。我编辑了这个问题。谢谢你的回答!现在$\u FILES['xls']变量不是空的,但是我得到了错误。我编辑了这个问题。谢谢你的回答!现在$\u FILES['xls']变量不是空的,但是我得到了错误。我编辑了这个问题。
Array
(
[xls] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
)
)
echo '<pre>',print_r($_FILES,1),'</pre>'