php - PHP JQuery Ajax $_FILES['file'] 未定义索引错误
问题描述
我有一个上传图像文件的表单,但它不工作。我试过提交和点击事件,当我删除 if 语句时出现错误。在此先感谢您的帮助。
<form action="index.php" method="POST" enctype="multipart/form-data" id="image-1">
<label class="btn btn-default" id="label-1">Upload Image
<input type="file" name="file" multiple="multiple" id="file-1">
</label>
<span id="save-1"></span>
</form>
$('#save-1').on('click', function(event){
event.preventDefault();
var sliderForm = $('#image-1')[0];
$.ajax({
url: 'image-1.php',
method: 'POST',
data: new FormData(sliderForm),
contentType: false,
cache: false,
processData:false,
enctype: 'multipart/form-data',
success:function(data){
$('.update-res').html(data);
}
});
});
PHP 脚本
if (isset($_FILES['file'])) {
echo $file = $_FILES['file']['name'];
}
解决方案
<form action="index.php" method="POST" enctype="multipart/form-data" id="image-1">
<label class="btn btn-default" id="label-1">Upload Image
<input type="file" name="file" multiple="multiple" id="file-1">
</label>
<span id="save-1"></span>
</form>
试试这个代码
new FormData(document.getElementById("file-1"))
$('#save-1').on('click', function(event){
event.preventDefault();
var sliderForm = $('#image-1')[0];
$.ajax({
url: 'image-1.php',
method: 'POST',
data: new FormData(document.getElementById("file-1")),
contentType: false,
cache: false,
processData:false,
enctype: 'multipart/form-data',
success:function(data){
$('.update-res').html(data);
}
});
});
推荐阅读
- c# - 将两个数字四舍五入到最接近的可整除数的算法
- php - 为什么我不能在数字中包含下划线?
- ios - 如何使动画视图在所有设备上与屏幕底部的距离保持一致?
- sequelize.js - 在 sequelize 中使用 findByPk 和 WHERE 条件
- bash - 遍历目录以获取图像文件
- vbscript - 有没有办法用 VBScript 计算所有打开的窗口?
- reactjs - 使用带有反应钩子的 react-rnd
- flask - 我如何提供自定义服务器 ip 而不是烧瓶中的本地主机
- mysql - 如何从 DATE(不是日期时间、时间戳)获取 AVG 并返回 DATE(不是日期时间、时间戳)
- excel - 连接到 Power Pivot 的 Excel 切片器 - 选择多个切片器项目