通过Busboy从表格中获取现场价值



如何从busboy中从" val" param检索单个字段值?

.js

app.post('/somewhere', (req, res) => {
    req.busboy.on('field', function(fieldname, val) {
       //var foo = val.name;
       //var bar = val.number;
    });
});

.html

<input type="text" name="name"><br>
<input type="tel" name="number"><br>

根据Busboy Git:

field [...]为发现的每个新的非文件场发射。

使用提供的示例,我能够识别" var"由两个字符串组成:

typeof(val) 
string
string

,但之后我毫无头绪:

  1. 此范围中的val是什么?var?大批?其他?
  2. 如何从Val的特定元素中获得特定元素?像"名称"字段。

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()
  });
});

我不确定您对typeof val的意思是什么,但就我而言,val始终是一个简单的字符串

最新更新