拖放的文件显示在JavaScript中,但不会显示在请求中
我正在尝试创建一个文件上传表单,该表单将通过拖放和通用上传按钮工作,但我在获取拖放上传时遇到问题 在代码的这一点上,在使用jquery发送ajaxData对象之前:拖放的文件显示在JavaScript中,但不会显示在请求中,javascript,jquery,drag-and-drop,Javascript,Jquery,Drag And Drop,我正在尝试创建一个文件上传表单,该表单将通过拖放和通用上传按钮工作,但我在获取拖放上传时遇到问题 在代码的这一点上,在使用jquery发送ajaxData对象之前: var ajaxData = new FormData($form.get(0)); if (droppedFiles) { $.each( droppedFiles, function(i, file) { ajaxData[i] = file; });
var ajaxData = new FormData($form.get(0));
if (droppedFiles) {
$.each( droppedFiles, function(i, file) {
ajaxData[i] = file;
});
}
console.log(ajaxData)
ajaxData字典显示拖放文件的所有预期文件名和文件信息,但
但是,当我通常通过
上传文件时,ajaxData日志作为一个简单的formData对象(看起来)为空:
现在,当我检查请求时,拖放创建的ajaxData只发送没有文件的键
csv1:
csv2:
csv3:
而通用上传会按预期发送文件
csv1: csv1.csv
...
为什么拖动的文件不上传,即使我在JavaScript控制台中看到它们,但我看不到一般上传?您可以使用FormData
的方法将属性附加到FordData
实例
ajaxData.append(i, file)
并获取FormData
实例的特定属性的值
ajaxData.get("csv1")
ajaxData.get("csv1")