更新的方法:
截至2016年3月,最新版本的Chrome和Firefox现在支持使用来检查FormData。来源。FormData.entries()
// Create a test FormData object
var formData = new FormData();
formData.append('key1', 'value1');
formData.append('key2', 'value2');
// Display the key/value pairs
for (var pair of formData.entries()) {
console.log(pair[0]+ ', ' + pair[1]);
}
感谢Ghost Echo和rloth指出这一点!
旧答案:
在查看了这些Mozilla文章之后,似乎没有办法从FormData对象中获取数据。您只能使用它们来构建要通过 AJAX 请求发送的表单数据。
我也刚刚发现这个问题陈述了同样的事情:FormData.append(“key”,“value”)不起作用。
解决这个问题的一种方法是建立一个常规字典,然后将其转换为FormData:
var myFormData = {
key1: 300,
key2: 'hello world'
};
var fd = new FormData();
for (var key in myFormData) {
console.log(key, myFormData[key]);
fd.append(key, myFormData[key]);
}
如果要调试普通的 FormData 对象,还可以发送它,以便在网络请求控制台中对其进行检查:
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.send(fd);