我正在关注“单页TodoList应用”上的一些教程,并且在尝试创建新的Todo时遇到问题。 该TODO列表应用程序应该具有输入位置,您可以在其中输入待办事项,然后按Enter,然后新添加的待办事项应显示在列表的末尾,而无需刷新页面。
我的问题是,每当我添加新的待办事项然后按Enter键时,它就会显示为“未定义”,但是刷新页面后,它将按预期显示。
我认为问题出在createTodo函数中。当我console.log(req.body)而不是({name:“ value”})时,我得到了一个[object object]。对于res.json(newTodo),什么也不会返回,而应该返回newTodo。
exports.createTodo = function(req, res){
db.Todo.create(req.body)
.then(function(newTodo){
res.status(201).json(newTodo);
})
.catch(function(err){
res.send(err);
})
}
我仔细检查了我是否已安装body-parser并按文档要求进行使用:
var express = require('express'),
app = express(),
port = process.env.PORT || 3000,
bodyParser = require('body-parser');
var todoRoutes = require("./routes/todos");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static(__dirname +'/public'));
app.use(express.static(__dirname + '/views'));
app.get('/', function(req, res){
res.sendFile("index.html");
});
有人可以帮我吗? 谢谢!