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