0
我学习的节点,并表示为一个角应用程序,我将创建创建一个API。Express.js req.body正在返回什么
当我尝试发布东西req.body
似乎是空白。
这是我server.js文件
'use strict';
var express = require('express'),
app = express(),
mongoose = require('mongoose'),
router = require('./api'),
bodyParser = require('body-parser');
mongoose.connect('mongodb://localhost/my_db');
app.use(bodyParser.json());
app.use('/api', router);
app.get('/', function(req, res) {
res.render(__dirname + '/index.jade');
});
app.listen(3001, function() {
console.log('Listening on port 3001');
});
,这是我的API/index.js文件:
'use strict';
var express = require('express'),
Todo = require('../models/todo'),
router = express.Router();
router.get('/todos', function(req, res) {
Todo.find({}, function(err, todos) {
if(err) {
return console.log(err);
}
res.json({todos: todos});
});
});
router.post('/todos', function(req, res) {
var todo = req.body;
res.json({todo: todo});
});
module.exports = router;
当我使用邮递员张贴这http://localhost:3001/api/todos
:
{
'name': 'Walk the Dog',
'completed': false
}
我的回应是:
{
"todo": {}
}
我看不出为什么这会是空白,任何帮助表示赞赏。
UPDATE
原来我在邮差,而不是JSON
发布text
。
我没有设定的角度上去过,我第一次做的API,我用的是叫邮差的应用程序发布。原来这是我的错,我发布'文本'而不是'JSON'我会更新我的问题。 – Ollie2619
你是否以邮递员的身份发送'application/json'?或者作为默认的编码形式? – charlietfl
你有没有检查你是否在服务器上收到它?我的意思是console.log? – Nonemoticoner