在表单提交期间,文件上传在什么时候发生?

时间:2013-04-10 14:58:30

标签: php html ajax file-upload

在HTML表单提交期间,什么时候将文件上传到服务器上的临时目录(特别是PHP)?我有一个表单,其中包含一些字段和文件上传。我正在通过AJAX处理此表单。

我正在使用第三方插件,它通过AJAX上传文件(使用iFrame / xhr)。文件上传后,用户可以提交表单。从技术上讲,此文件输入字段位于表单中。当我通过AJAX进行处理时,我正在为整个表单(包括文件输入字段)序列化数据并发送以进行处理。

我想知道的是;我应该在提交之前通过JS以编程方式清除文件输入字段,以防止客户端/服务器再次尝试上载文件吗?或者根据功能,在AJAX调用中是否完全忽略该字段?

基本上我只是想确定,如果用户上传了一个需要10秒上传的3MB文件,当他们实际提交表单时(我通过jQuery捕获),即使文件实际上无法上传,也会客户端发送文件时,他们必须再等10秒钟。

希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

如果您通过AJAX提交表单,则可以控制发送到服务器的内容。如果使用$('form').serialize(),文件内容将不会包含在序列化数据中,因此不...您不必清除该字段。只需确保您阻止默认表单提交。

要阻止默认表单提交,您应该执行以下操作:

$('form').on('submit', function(event) {
    event.preventDefault();

    // the rest of your form submission stuff,
    // including your AJAX call

    return false;
});