Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 请求正文为空还是部分为空?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 请求正文为空还是部分为空?

Javascript 请求正文为空还是部分为空?,javascript,node.js,express,Javascript,Node.js,Express,所以我一直在玩node js。我一直在遵循一个教程,由于教程很旧,我不得不调整一些东西,但现在我完全处于死胡同,作为我最后的希望,我来到stackoverflow 我正在为一个简单的待办应用程序创建一个restful路由 下面是我的模型 var mongoose = require("mongoose"); var Task = new mongoose.Schema({ taskTitle:{ type:String, default:"", re

所以我一直在玩node js。我一直在遵循一个教程,由于教程很旧,我不得不调整一些东西,但现在我完全处于死胡同,作为我最后的希望,我来到stackoverflow

我正在为一个简单的待办应用程序创建一个restful路由

下面是我的模型

var mongoose = require("mongoose");

var Task = new mongoose.Schema({
    taskTitle:{
      type:String,
      default:"",
      required:true
    },
    taskDescription:{
      type:String,
      default:"",
      required:true
    },
    taskStartDate:{
      type:Number,
      required:true
    },
    taskEndDate:{
      type:Number,
      required:true
    },
    userId:{
      type:Number,
      required:true
    }
});

module.exports = mongoose.model("Task",Task);
下面是我添加任务的路径:它位于
/controllers/task.js
文件中

exports.addTask = function(req, res){

  var task = new Task();

  task.taskTitle = req.body.taskTitle;
  task.taskDescription = req.body.desc;
  task.taskStartDate = req.body.startDate;
  task.taskEndDate = req.body.endDate;
  task.userId = req.body.userId;

  task.save(function(err){
         if(err){
           console.log(JSON.stringify(req.body))
           res.send("There is an error")
         }
         else{
           res.send({message:"task was saved.",data:task});
       }
  });
};
我的
server.js
看起来很简单

var express = require("express");
var taskController = require("./controllers/tasks");
var bodyParser = require("body-parser")
var mongoose = require("mongoose")
var app = express();
var router = express.Router();
mongoose.Promise = require('bluebird');

mongoose.connect('mongodb://localhost/tasker');


app.use(bodyParser.urlencoded({
  extended:true

}));
app.use(bodyParser.json());

app.use('/api',router);




router.route("/tasks/:userId").get(taskController.getTasks);
router.route("/task").get(taskController.getTask);
router.route("/addTask").post(taskController.addTask);
router.route("/updateTask").post(taskController.updateTask);
router.route("/deleteTask").get(taskController.deleteTask);

app.listen(3000);
所以我的问题是,当我发出邮递员请求时,我的
req.body
只包含

{"startDate":"10102015","endDate":"10102018"} 
我的
req.body
没有
desc
tasktTitle
userID
。 我已经试了几个小时,不知道这里出了什么错


非常感谢

请求主体希望数据作为JSON主体。将您的请求以raw->JSON的形式发布到postman上。@Olantobi:有一个
bodyParser.urlcoded
?我试过使用您的代码,效果很好。我收到了所有的字段。它现在对我起作用了。我没有改变任何事情。