Nic*_*anc 5 forms node.js busboy
如何使用 busboy 从“val”参数中检索单个字段值?
.js
app.post('/somewhere', (req, res) => {
req.busboy.on('field', function(fieldname, val) {
//var foo = val.name;
//var bar = val.number;
});
});
Run Code Online (Sandbox Code Playgroud)
.html
<input type="text" name="name"><br>
<input type="tel" name="number"><br>
Run Code Online (Sandbox Code Playgroud)
根据busboy git:
field [...] 为找到的每个新的非文件字段发出。
使用提供的示例,我能够确定“var”由两个字符串组成:
typeof(val)
string
string
Run Code Online (Sandbox Code Playgroud)
但在那之后我一无所知:
Busboy 处理事件,因此从表单中获取特定元素的正确方法是自己实现一个包含表单数据的结构。
app.post('/somewhere', (req, res) => {
let formData = new Map();
req.busboy.on('field', function(fieldname, val) {
formData.set(fieldname, val);
});
req.busboy.on("finish", function() {
console.log(formData) // Map { 'name' => 'hi', 'number' => '4' }
// here you can do
formData.get('name') // 'hi'
formData.get('number') // '4'
// any other logic with formData here
res.end()
});
});Run Code Online (Sandbox Code Playgroud)
我不确定你的意思,typeof val但在我的情况下,val总是一个简单的字符串