图像形式不通过ajax提交

时间:2011-04-06 20:12:46

标签: jquery ajax forms file-upload

我已经在表单中添加了一个文件输入,我似乎无法让文件通过。这是表格(减去所有其他字段)

<form method="post" action="ajax_mm_order.php" enctype="multipart/form-data" id="mm_form">
<input id="image_file" type="file" name="photo_for_card" />
<input type="button" id="submit_button" value="Place Order" />
</form>

提交它的javascript / jquery:

$.ajax({
            type: "POST",
            url: "ajax_mm_order.php",
            data: $("#mm_form").serialize(),
            success: function(msg){
                $(".form_style_header").fadeOut("slow");
                $(form_css).fadeOut("slow", function(){
                    $(form_complete).fadeIn("slow");
                });

            }
        });

当表单数据到达ajax_mm_order.php时,所有其他数据都收到了,但$ _FILES完全为空。我的ajax电话有问题吗?

1 个答案:

答案 0 :(得分:5)

您无法通过ajax发送文件。最被接受的方式实际上只是一个美化的'黑客' - 许多库基本上创建一个iframe,然后将iframe中的内容发布到你的url(因为它只是一个iframe,不会导致你的父页面完全刷新)。

我会研究找一个你想要使用的漂亮的ajax文件上传库。我个人喜欢this库。