【问题标题】:How to handle parameter in POST request in expressJS如何在expressJS中处理POST请求中的参数
【发布时间】:2020-11-13 23:39:13
【问题描述】:

我正在公司从事我的第一个项目,但使用 expressjs 卡在发布请求中。

以下是我的发布请求代码

const express = require('express')
const app = express()
const request = require('request')
const bodyParser = require('body-parser')

app.use(bodyParser.urlencoded({ extended: true}))
app.use(bodyParser.json())

app.post('/cruamsApi/updateUsers', (req, res) => {
    
    const DisplayName = req.body.DisplayName
    const EmployeeNumber = req.body.EmployeeNumber
    const RegDate = req.body.RegDate
    const url = 'http://localhost:8009/CruAmsAPI/Employee'
    
    request (
        {
            url: url,
            json: true,
            body: {
                "EmployeeNumber": EmployeeNumber,
                "DisplayName": DisplayName,
                "RegDate": RegDate
            }
        },
        function (error, response, body) {
            
            if(!error) {
                res.send(response)
            } else {
                res.send(error)
            }
        }
    )
})

app.listen(PORT, () => {
    console.log('server is listening port ' + PORT)
})

当我发出 POST 请求时,它不断从 API 返回“需要 EmployeeNumber 参数”错误消息。我试图双引号“EmployeeNumber”键,但仍然有同样的问题。也包括标题,但并没有真正起作用。 POST 请求在 POSTMAN 中有效。

【问题讨论】:

  • 您是否正在尝试发送或处理 POST 请求? const request = require('request') 与 ExpressJS 无关。您可以在调试器中启动服务器并在const EmployeeNumber = req.body.EmployeeNumber 处添加断点吗?这行之后EmployeeNumber 的值是多少?
  • @ThomasSablik 如何在调试器中启动服务器?抱歉,我以前从未尝试过调试器。
  • @ThomasSablik 我刚刚在谷歌上搜索并正在研究它:)
  • @ThomasSablik 在调试器断点处没有任何反应
  • 使用调试器可以查看每个步骤中每个变量的值。 const EmployeeNumber = req.body.EmployeeNumber 后面的EmployeeNumber 的值是多少?

标签: javascript node.js express


【解决方案1】:

您是否尝试在请求中发送 EmployeeNumber? 如果它在邮递员中工作,它应该工作。我认为您的问题出在您的前端,它没有在请求中发送任何 EmplyeeNumber。

【讨论】:

    猜你喜欢
    • 2014-05-06
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 2013-07-10
    • 2013-03-03
    • 2016-09-20
    • 1970-01-01
    相关资源
    最近更新 更多