【问题标题】:Request Body Read Multiple Value on Node Js请求正文在节点 Js 上读取多个值
【发布时间】:2021-03-24 07:50:48
【问题描述】:

我是 NodeJs 开发的新手, 我想问一下,这当然有点基本,但我不知道该怎么做。

我的任务是读取请求一个可以填充多个值的字段, 在这样的 json 数组上:

{ 
  "email" : "first@mail.com" , "second@mail.com", "third@mail.com" 
}

如何从“电子邮件”字段中获取每个值并将其处理为某个函数?

我有一个查询选择从一个表中获取用户名

select username from [dbo].[users] where email=@email (first, second, and third)

这是我现在只读取一个值而不是多个值的代码:

    async getValueFunction(req, res) {
    
            res.setHeader('Content-Type', 'application/json');
    
            try {
    
                if (req.body.email != "") {
                    const pool = await poolPromise
                    const result = await pool.request()
                        .input('email', sql.VarChar, req.body.email)
                        .query(queries.getUserScoreByEmail)
                        var showUserScore = result.recordset;
                        res.json(showUserScore);
    
                } else if (req.body.email == "") {
                    const pool = await poolPromise
                    const result = await pool.request()
                        .query(queries.getUserScore)
                        var showAllUserScore = result.recordset;
                        res.json(showAllUserScore);
                }
            } catch (error) {
                res.status(500)
                res.send(error.message)
            }
        }

如何进行循环(迭代)并在作为一个响应(json)发送之前收集结果/记录集??

【问题讨论】:

    标签: node.js arrays json request response


    【解决方案1】:

    您应该更新您的结构,因为它不是键值对。

    您可以做的是将电子邮件地址存储在 Array 中,如下所示

    const data ={ 
        "email" : ["first@mail.com" , "second@mail.com", "third@mail.com" ]
    }
    

    然后你用data.email访问它

    【讨论】:

    • 我还是不明白..,反正我用代码编辑了我的问题
    • 对不起,我误会了。那不是有效的Json,你必须做键值对。但是你可以做一个电子邮件地址数组
    猜你喜欢
    • 2014-06-27
    • 2021-03-07
    • 2017-01-21
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    相关资源
    最近更新 更多