Javascript 使用node.js和express从回调请求获取参数

Javascript 使用node.js和express从回调请求获取参数,javascript,node.js,express,callback,twilio,Javascript,Node.js,Express,Callback,Twilio,我正在使用TwilioAPI和node.js成功地记录和转录调用。我正在尝试在记录呼叫时实现回调。根据twilio API,我指定我的回调URL: twiml.record({ transcribe: false, maxLength: 30, //seconds to record recordingStatusCallback: 'http://[url]:3000/recorded' }) 根据,我应该通过POST收到一些参数,因此我正在记录请求和响应: ap

我正在使用TwilioAPI和node.js成功地记录和转录调用。我正在尝试在记录呼叫时实现回调。根据twilio API,我指定我的回调URL:

twiml.record({
    transcribe: false,
    maxLength: 30, //seconds to record
    recordingStatusCallback: 'http://[url]:3000/recorded'
  })
根据,我应该通过POST收到一些参数,因此我正在记录请求和响应:

app.post('/recorded', (req, res) => {
  console.log(req, res)
})
我在日志中看到的是两个巨大的物体,我没有看到任何与我期望的参数类似的东西。我猜我应该以不同的方式构造post函数以获得所需的参数,但我不确定如何构造,而且我在Twilio或在线上没有看到任何文档显示成功的回调函数是如何构造的


有什么办法吗?

首先,在项目中添加“body parser”模块

npm install body-parser
并在守则中要求:

var bodyParser = require('body-parser')
现在,在启动服务器之前,将其添加到代码中的某个位置:

app.use(bodyParser.urlencoded({ extended: false }));  //this will add extracting of the body for every request to express server
之后,在您试图查找数据的函数中,可以使用以下代码获取数据:

app.post('/recorded', (req, res) => {
    console.log(req.body);  //body of the request in javascript object format
})

查找有关“body parser”模块的更多信息。

Twilio将数据作为url编码的表单数据发送,因此您需要body parser提供的
URLCoded
中间件。我编辑了答案。此处列出了您将在回调中接收的属性:。例如,您可能对
req.body.RecordingUrl
感兴趣。谢谢!成功了。我知道这是一种特定于语言/环境的用例,但是在网上添加这个例子会很酷