Node.JS正文解析器问题

时间:2015-09-12 00:18:22

标签: javascript json node.js console

我正在尝试在node.js中将数据从一台机器发送到另一台机器。

我似乎在使解析器正常运行时遇到一些困难。 这是我的客户端和服务器代码

Client.JS

var request = require('request');

request.post(
    'http://192.168.1.225:3002',
    { form: { key: 'notyourmother' } },
    function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body)
        }
    }
);

Server.JS

var express = require('express');
var bodyParser = require('body-parser')
var app = express();
app.use(bodyParser.json());
app.post('/', function (req, res) {
  res.send('POST request to the homepage');
console.log(req.body);
});

var server = app.listen(3002, function () {
  var host = server.address().address;
  var port = server.address().port;

  console.log('Example app listening at http://%s:%s', host, port);
});

当我运行两个片段时,控制台会输出“{}”。

我可能做错了什么? 谢谢!

1 个答案:

答案 0 :(得分:2)

您在服务器端使用了错误的正文解析器。 request正在使用您当前的客户端代码发送application/x-www-form-urlencoded请求有效内容。因此,只需将bodyParser.json()替换为bodyParser.urlencoded({ extended: false })