1

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

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

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

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

希望这是有道理的。

4

1 回答 1

0

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

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

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

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

    return false;
});
于 2013-04-10T15:02:43.883 回答