如何在不重新加载的情况下在同一页面上提交文件

时间:2016-08-20 11:07:11

标签: javascript php jquery html iframe

我试图找到问题“如何在不重新加载标签的情况下提交文件”的答案。我来到这个帖子Uploading file in a form without page refresh在这个帖子中,最好的答案是“使用隐藏的iframe”。但是如果我们使用隐藏的iframe,则可以在不刷新页面的情况下将表单数据提交到另一个文件。但是如何在不重新加载的情况下将文件(使用iframe)提交到当前文件(页面)。我正在使用

<form action="<?php echo $_SERVER["PHP_SELF"];?> enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit">
</form>

我认为在我的情况下,我们甚至无法使用seralize()方法。所以我们如何在不重新加载的情况下在同一页面上提交文件。我认为iframe可能不是解决方案。

1 个答案:

答案 0 :(得分:0)

这里我使用了jquery这样的..你必须创建 FormData

的对象
jQuery("body").on("beforeSubmit", "form#YOUR_FORM_ID", function() {
            var form = jQuery(this);
            jQuery.ajax({
                url: form.attr("action"),
                type: "POST",
                data: new FormData(this),
                processData: false,
                contentType: false,
                async: false,
                success: function(response) {
                    if (response) {
                      //your response 
                    }
                },
                error: function() {
                    console.log("internal server error");
                }
            });
            return false;
        });