我已经尝试过 console.log并使用遍历它for in。
console.log
for in
这里是FormData上的MDN参考。
两种尝试。
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); }
如何检查表单数据以查看设置了哪些键。
更新方法: Chrome和Firefox的最新版本现在支持使用FormData.entries()来检查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指出了这一点!
旧答案:
看完这些文章之后,似乎无法从FormData对象中获取数据。您只能将它们用于构建通过AJAX请求发送的FormData。
我也刚刚发现这个问题指出了同样的问题: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);