JQuery $ _POST和$ _FILES数组是空的

时间:2012-03-23 22:36:43

标签: jquery

我正在尝试从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');}}



                ]


            });
    });

1 个答案:

答案 0 :(得分:1)

您无法使用AJAX上传文件。但是,您可以使用许多模拟AJAX操作的插件之一。他们通过在后台创建iframe并以这种方式提交数据来实现此目的。尝试搜索jQuery文件上传插件。