【发布时间】:2019-06-11 12:32:23
【问题描述】:
我正在尝试使用 AJAX 将表单数据发送到 PHP,但是在 PHP 页面上转储数据时它返回空值。
实际上,我想要一个可以上传图像的程序,而不是弹出式裁剪图像,然后将裁剪后的图像保存在数据库中。
我的代码如下:
$('#fileinput').on('change', function() {
var formD = new FormData();
var file = $('#fileinput')[0].files[0];
// var nfile = file.serializeArray();
// console.log(file);
formD.append('file', file);
formD.append("clientID", 2993);
console.log(formD);
$.ajax({
url: 'croped.php',
type: 'POST',
data: {
'ff': formD
},
processData: false,
contentType: true,
// dataType: 'json',
success: function(data) {
console.log(data);
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="image" id="fileinput" />
<input type="submit" name="upld" id="upldbtn" />
</form>
croped.php
<?php
var_dump($_POST);
echo "ll";
?>
请让我知道我遗漏了什么或做错了什么。
【问题讨论】:
-
这是使用ajax上传文件的错误方式
-
应用 bewlo 代码它可以帮助你并使用
-
FormData 准备了一个完整 表单数据提交集,包括所有参数名称、值等。您通过尝试将其“作为”名为
ff的特定参数发送来使该数据结构无效。您需要发送此 FormData 对象,仅此而已:data: formData
标签: php jquery html ajax forms