我已经在表单中添加了一个文件输入,我似乎无法让文件通过。这是表格(减去所有其他字段)
<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电话有问题吗?
答案 0 :(得分:5)
您无法通过ajax发送文件。最被接受的方式实际上只是一个美化的'黑客' - 许多库基本上创建一个iframe,然后将iframe中的内容发布到你的url(因为它只是一个iframe,不会导致你的父页面完全刷新)。
我会研究找一个你想要使用的漂亮的ajax文件上传库。我个人喜欢this库。