我正在尝试在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);
});
当我运行两个片段时,控制台会输出“{}”。
我可能做错了什么? 谢谢!
答案 0 :(得分:2)
您在服务器端使用了错误的正文解析器。 request
正在使用您当前的客户端代码发送application/x-www-form-urlencoded
请求有效内容。因此,只需将bodyParser.json()
替换为bodyParser.urlencoded({ extended: false })
。