当我上传成功上传ajax图像的图像时,我有一个关于ajax表单数据上传的问题,但由于我无法在我的代码中写回信,因为我无法在我的身边收到问题。
如果有人可以帮助解决这个问题。
我的Ajax代码。
$("form[name='messageFrom']").submit(function(e) {
var formData = new FormData($(this)[0]);
$.ajax({
url: "controller.php",
type: "POST",
data: formData,
async: false,
success: function (msg) {
$('#chatBord').append(msg);
$('#message').val('');
$('#imageMessage').val('');
},
cache: false,
contentType: false,
processData: false
});
e.preventDefault();
});
我从ajax收到的回复
JFIF > CREATOR:gd-jpeg v1.0(使用IJG JPEG v62),默认质量 C$。 “,#(7),01444'9 = 82 <.342 C2!!22222222222222222222222222222222222222222222222222 @ ”
我的PHP代码
$message=$_REQUEST['message'];
$group_id=$_REQUEST['sendMessageGroupID'];
$imageName=""; $msg_type="";
if(!empty($_FILES['imageMessage']['name'])){
$extension=pathinfo($_FILES['imageMessage']['name'],PATHINFO_EXTENSION);
$imageName=md5(time().rand(100,999)).".".$extension;
image_resize($_FILES['imageMessage']['tmp_name']);
move_uploaded_file($_FILES['imageMessage']['tmp_name'],"../API/message/".$imageName);
$message = BASEPATH.'message/'.$imageName;
$msg_type="2";
}
else {
$msg_type="1";
}
addMsgInGroup($group_id,$_SESSION['user_id'],$msg_type,$message); ?>
在addMsgInGroup中只有一个插入查询。
你应该通过在上传图像时发送序列化数据来尝试这个你应该怎么做,
$("form[name='messageFrom']").submit(function(e) {
$.ajax({
url: "controller.php",
type: "POST",
data: $("form[name='messageFrom']").serialize(),
async: true,
success: function (msg) {
$('#chatBord').append(msg);
$('#message').val('');
$('#imageMessage').val('');
},
cache: false,
contentType: false,
processData: false
});
e.preventDefault();
});
我在您的代码中进行了两处更改
data: $("form[name='messageFrom']").serialize(),
async: true,
在你的ajax代码中,我通过序列化发送代码并使其成为异步:true
在controller.php的PHP端使用$_POST
接收它
试试这个,让我知道这是否适合你:)