如何使用node.js获取POST数据?

时间:2014-03-16 10:51:24

标签: node.js twilio

如何从twilio获取来电显示?我尝试了很多不同的方法来获取POST数据,但它没有工作。

var twilio = require('./node_modules/twilio/index'),
        http = require('http'),
        express = require('express');

http.createServer(function (req, res) {
/*
var app = express();
app.use(express.urlencoded());
app.post('/call',function (req, res) {
*/
        var name, from;
//      if (req.method=='POST')
//              req.on('From', function (data) {from = data;});
        try {
                from = req.param('From');
                // from = req.body.from;
        }
        catch (err)
        {
        console.log("No Caller ID");
        }
        console.log("Number: " + from);
//Some code goes here..
res.end(resp.toString());
}).listen(8080);

它每次都在try catch语句中抛出错误(总是为null)。

我试图获取传入短信的来电显示。

评论中的内容是我尝试的不同方法。

引发的错误是:

  

错误TypeError:Object#IncomingMessage>没有方法' param'

1 个答案:

答案 0 :(得分:3)

我想这可以解决问题:

var qs = require('querystring');
var processRequest = function(req, callback) {
    var body = '';
    req.on('data', function (data) {
        body += data;
    });
    req.on('end', function () {
        callback(qs.parse(body));
    });
}

var http = require('http');
http.createServer(function (req, res) {
    processRequest(req, function(data) {
        // data
    }); 
}).listen(9000, "127.0.0.1");