使用 XHR 提交表单数据

Submitting Formdata using XHR

抱歉,如果这已经在其他地方得到解答,但我似乎遇到了一个关于使用 FormData 对象上传文件的非常具体的问题。

HTML形式:

<form id="file-form" method="post">
    <input type="file" id="file-input" multiple onchange="HandleFileInput(event); return false;"/>
</form>

JS回调:

HandleFileInput(event) {
    var fd = new FormData();
    var fileList = document.getElementById('file-input').files;
    for (let i = 0; i < fileList.length; i++) {
        fd.append(fileList[i].name, fileList[i]);
    }
}

使用调试器我可以看到 fileList 确实充满了文件条目(多个),我可以通过在控制台中为它们建立索引来访问各个文件。但是,我似乎无法将文件附加到 FormData 对象。在 for 循环之后,fd 对象仍然是空的。帮忙?

好的,似乎一切都按预期附加到 fd 对象。我使用 fd 对象的 values() 函数检查了这个:

for (var value of fd.values()) {
    console.log(value)
}