我试过 console.log
并使用 for in
循环遍历它。
这里是 MDN Reference在表单数据上。
这两次尝试都在这个 fiddle .
var fd = new FormData(),
key;
// poulate with dummy data
fd.append("key1", "alskdjflasj");
fd.append("key2", "alskdjflasj");
// does not do anything useful
console.log(fd);
// does not do anything useful
for(key in fd) {
console.log(key);
}
如何检查表单数据以查看已设置的键。
最佳答案
更新方法:
截至 2016 年 3 月,Chrome 和 Firefox 的最新版本现在支持使用 FormData.entries()
来检查 FormData。 Source .
// 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指出这一点!
旧答案:
看完these Mozilla articles ,看起来没有办法从 FormData 对象中获取数据。您只能将它们用于构建 FormData 以通过 AJAX 请求发送。
我也刚刚发现这个问题说明了同样的事情:FormData.append("key", "value") is not working .
解决这个问题的一种方法是建立一个常规字典,然后将其转换为 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);
关于javascript - 如何检查 FormData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17066875/