【发布时间】:2014-01-16 19:24:24
【问题描述】:
我正在尝试将使用 ajax 发布的文件上传到面向对象的类,但它没有正确发布。
这里是ajax
var handleUpload = function(event)
{
event.preventDefault();
event.stopPropagation();
var fileInput = document.getElementById('file');
var data = new FormData();
for(var i = 0; i < fileInput.files.length; i++)
{
data.append('file[]', fileInput.files[i]);
}
var request = new XMLHttpRequest();
request.upload.addEventListener('progress', function(event)
{
});
request.upload.addEventListener('load', function(event)
{
});
request.upload.addEventListener('error', function(event)
{
});
request.open('POST', 'profile.php');
request.setRequestHeader('Cache-Control', 'no-cache');
request.send(data);
}
window.addEventListener('load', function(event)
{
var submit = document.getElementById('submit');
submit.addEventListener('click', handleUpload);
});
这是调用我创建的类中的函数的 php 代码。 javascript 成功发布,但 $_FILES 数组未设置,因此 php if 语句未运行。
if(!empty($_FILES['file']) && isset($_POST['special']))
{
$special = $_POST['special'];
$date = $_POST['date'];
$user->postSpecial($special, $date, $_FILES);
}
【问题讨论】:
-
我感觉这个问题已经被问了一千次了。你在 SO 中第一次检查它吗?
-
没有一个接近我的问题
-
@user2872510,怀疑
标签: javascript ajax