gpt4 book ai didi

javascript - 创建 FormData 不包括未提供的输入文件

转载 作者:行者123 更新时间:2023-11-29 20:33:27 24 4
gpt4 key购买 nike

我通过 jQuery 手动提交表单。我将 FormData 与此表单中的所有输入元素一起使用。见下面的代码:

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

var form = $('#submit-form')[0];
var data = new FormData(form);

$.ajax({
type: "POST",
url: "my-best-handler",
data: data,
processData: false,
contentType: false,
cache: false,
timeout: 60000
});
});

其中一个输入元素是文件,它是可选的设置它。未设置时,我不需要在 FormData 中使用它,也不需要与其他元素一起发送到请求处理程序。问题是目前即使未设置也会发送。

我很好奇,如果它没有设置,我如何将它从 FormData 中排除。
在最坏的情况下,我可以手动创建 FormData,如 here .
但我希望通过从 FormData 或任何其他优雅的方式中删除未设置的文件,有类似“黑名单”的方法。

更新:我提出了以下解决方案:

if (!$("#input-file").val()) {
data.delete('input-file');
}

最佳答案

您可以使用delete() 函数删除您的字段

var form = $('#submit-form')[0];
var data = new FormData(form);
if (!$("#input-file").val()) {
data.delete('input-file');
}

关于javascript - 创建 FormData 不包括未提供的输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com