Node.JS 正文解析器问题

Node.JS body parser issue

我试图在 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);
});

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

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

您在服务器端使用了错误的正文解析器。 request 正在使用您当前的客户端代码发送 application/x-www-form-urlencoded 请求负载。所以只需将 bodyParser.json() 换成 bodyParser.urlencoded({ extended: false }).