我在不使用提交按钮的情况下进行图片上传。当用户选择图像时,他立即上传。但我有一个问题,Ajax只打印“成功”,但图像不在文件夹中。 PHP没有ajax工作。
这是我的HTML:
<form action="../PHP/fotogaleria.php" method="post" class="form_fotogaleria" enctype="multipart/form-data">
<div class="obal_fotogalerie">
<div class="stvorcek">
<label class="file_nahod">
<input type="file" name="odoslat_fotogaleria" class="odid">
<img class="priecinok" src="../Obrazky/folder.png">
<p> Nahrať</p>
</label>
</div> <!-- koniec "stvorcek" -->
</div> <!-- koniec "obal_fotogalerie" -->
</form>
PHP:
$name = $_FILES['odoslat_fotogaleria']['name'];
$tmp_name = $_FILES['odoslat_fotogaleria']['tmp_name'];
$path = '../Obrazky-zvieratok/';
$cielovy_file = $path . basename($name);
move_uploaded_file($tmp_name,$path.$name);
echo "success";
这是AJAX:
$('.odid').change(function(e) {
e.preventDefault();
$.ajax({
url: '../PHP/fotogaleria.php',
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
success: function(data){
console.log(data);
}
有人可以帮忙吗?
答案 0 :(得分:1)
您将输入元素传递给FormData
构造函数。你应该改为传递表单元素。
data: new FormData($(this).closest('form').get(0)),