javascript - 如何检查 FormData?

标签 javascript form-data

我试过 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 Echorloth指出这一点!

旧答案:

看完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/

相关文章:

javascript - 如何修复 JavaScript 中未捕获的类型错误?

javascript - "=="、 "!="等的 Netbeans javascript 警告

javascript - 以表格形式显示选项中的选定值

Node.js 无法读取 XHR2 FormData 数据

android - 仅在 Android 上使用 FormData 网络错误获取 React Native(带 expo)

javascript - jQuery "loading"微调器停止工作

javascript - Electron 从渲染器进程上传文件,使用表单数据和 axios

node.js - 在 postman 中使用表单数据使 req.body 为空

android - 仅使用表单数据进行改造 2

javascript - Intellij 插件 : AirBnB ESLint w/React