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

Posted

技术标签:

【中文标题】如何在不重新加载的情况下在同一页面上提交文件[重复]【英文标题】:How to submit the file on the same page without reloading [duplicate] 【发布时间】:2016-12-27 11:06:54 【问题描述】:

我试图找到问题“如何在不重新加载选项卡的情况下提交文件”的答案,我来到这个线程 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】:

在这里我使用了这样的 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;
        );

【讨论】:

以上是关于如何在不重新加载的情况下在同一页面上提交文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在不重新加载页面的情况下提交表单[重复]

如何在不重新启动的情况下在 Express 上重新加载一个文件?

如何在不刷新页面的情况下在 ReactJS 中重新加载?

如何在不重新加载 visibleCell 的情况下在 collectionView 上重新加载数据

如何在不刷新页面的情况下在屏幕上显示新记录?

在 Rails 4 中,如何在不刷新的情况下在页面上提交表单和更新元素