JS返回req.body的[object objec],除非刷新页面,否则该对象是未定义的

时间:2018-08-07 17:21:09

标签: javascript json ajax

我正在关注“单页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");
});

有人可以帮我吗? 谢谢!

0 个答案:

没有答案