【发布时间】:2016-10-28 14:02:42
【问题描述】:
我已经使用 node.js 和 express.js 创建了一个服务器,但是如果我发送一个 POST 请求并尝试检查正文,它总是说正文是空的。这是我的代码:
app.js:
var express = require('express');
var app = express();
app.set('port', process.env.PORT || 61000);
require('./routes/routes.js')(app);
var server = app.listen(app.get('port'), function () {
var port = server.address().port;
console.log('Server runs on port %s', port);
});
路线/路线.js:
module.exports = function(app) {
app.get('/', function(req, res) {
res.status(200).json({"response": "Hello!"});
});
app.post('/', function (req, res) {
if (req.body != null) {
res.status(200).json("Success");
}
res.status(200).json("Error");
});
};
如果我现在在 www.hurl.it 上发出 POST 请求并添加一个带有“Test”之类的文本的正文,它会给我响应“Error”,但它应该给我响应“Success”,因为body 不为空。
如果我像这样将“body-parser”模块添加到我的应用程序中:
var bodyParser = require('body-parser');
...
app.use(bodyParser.json());
即使我让身体空虚,它也会给我“成功”。如果我返回 req.body,则响应为:{},如果我添加正文,它也是 {}
有人知道怎么回事吗?
【问题讨论】:
标签: javascript node.js express post server