Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这些FormData构造函数之间有什么区别?_Javascript_Jquery - Fatal编程技术网

Javascript 这些FormData构造函数之间有什么区别?

Javascript 这些FormData构造函数之间有什么区别?,javascript,jquery,Javascript,Jquery,我已经在PHP或JavaScript项目。然而,在这个项目中,我面临一个问题。我不知道这件事: var formData = new FormData(); // and: var form = getElementById('myform'); var formData = new FormData(form); 这段代码会给我不同的结果吗?创建一个新的FormData()对象将实例化一个空的FormData对象,您可以手动填充相关信息。例如,您可以执行以下操作: let foo

我已经在PHP或JavaScript项目。然而,在这个项目中,我面临一个问题。我不知道这件事:

var formData = new FormData();

// and:

var form  = getElementById('myform');
var formData = new FormData(form); 


这段代码会给我不同的结果吗?

创建一个新的
FormData()
对象将实例化一个空的FormData对象,您可以手动填充相关信息。例如,您可以执行以下操作:

let foo = new FormData();
let bar = document.querySelector('input')

// Add bar to form data
foo.append(bar.name, bar.value);
这允许您仅在表单帖子中包含您选择的数据

如果将表单作为参数传递给
FormData
(如上所述,使用
newformdata(form)
),则
FormData
对象将预填充来自所提供参数的所有数据(例如
form
)。这意味着,如果您希望表单中的所有内容都被发布,只需一次性传递即可


在这两种情况下,您都可以使用
append()
delete()
FormData
对象添加/删除附加信息。

第一种方法返回一个空的FormData对象。第二个为FormData构造函数提供了一个对
表单
元素的引用,因此它将被该表单中的数据填充。有关此操作的更多信息,请参阅。代码是否存在特定问题?未捕获的TypeError:构造“FormData”失败:参数1不是“HTMLFormElement”类型。在HTMLImageElement.onclick的addImageOfProject(test.php?index=0:2763)中,我在控制台中得到了这个错误。当我尝试这样做时:var form=getElementById('myform');var formData=新formData(表格)<代码>getElementById('myform')->
document.getElementById('myform')表单
元素时,错误也是一样的。要么是输入错误,要么是多个元素具有相同的
id
,要么是在加载DOM之前运行JS。我们需要一个更完整的代码示例来诊断未捕获的类型错误:构造“FormData”失败:参数1不是“HTMLFormElement”类型。在HTMLImageElement.onclick的addImageOfProject(test.php?index=0:2763)中,我在控制台中得到了这个错误。当我尝试这样做时:var form=getElementById('myform');var formData=新formData(表格);您有一个输入错误-将
getElementById('myform')
更改为
document.getElementById('myform')
-您需要一个根引用进行搜索,以根据其ID查找元素-在这种情况下,
document
很抱歉,这只是键入错误,实际上我还在尝试“document.getElementById('myform')”。但错误是一样的。不幸的是,问题不是来自您共享的代码片段。我创建了一个小提琴,它没有显示错误: