我正在尝试使用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";
?>
请让我知道我缺少什么或做错什么。
答案 0 :(得分:0)
<form action = "" method = "POST" enctype = "multipart/form-data"
id="formdata">
<input type = "file" name = "image" id="fileinput" />
<input type = "submit" name="upld" id="upldbtn" />
</form>
$("#formdata").submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: window.location.pathname,
type: 'POST',
data: formData,
success: function (data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});
});