我正在尝试从JQuery模式中上传图像。表单隐藏在php中,一旦点击链接,就会出现模态窗口,以及一个非常简单的表单,只是一个文件上传字段
<form action="" method="post" enctype="multipart/form-data" id="uploadprofileimage" name="uploadprofileimage">
<label for="image">Upload a picture of the item:</label>
<input type="file" name="image" id="image">
</form>
但是,当单击上传按钮时,表单将被序列化并发送。要尝试解决此问题,我已回发到页面,当我转储$ _POST和$ _FILES时,数组是空的,我哪里错了?我在将变量发布到PHP之前已经完成了帖子,但出于某种原因我无法发布表单!
下面是我的JQuery代码,希望有人可以帮忙!,谢谢
$("[href='#avatar']").click(function() {
$("#profile-upload").dialog({
title: 'Add a profile image',
width: 400,
height: 200,
buttons:[
{
text: 'Upload',
click: function(e) {
e.preventDefault();
var post = $("#uploadprofileimage").serialize();
$.post("profiles.php", post, function(data){
console.log(post);
console.log(data);
},'json');
}
},
{ text: 'Close', click: function() { $(this).dialog('close');}}
]
});
});
答案 0 :(得分:1)
您无法使用AJAX上传文件。但是,您可以使用许多模拟AJAX操作的插件之一。他们通过在后台创建iframe
并以这种方式提交数据来实现此目的。尝试搜索jQuery文件上传插件。