为什么邮递员不发送数据

时间:2017-05-04 04:21:12

标签: node.js mongodb express

我是nodejs和express的初学者。我尝试使用postman的POST方法但没有数据被发送。这是我的代码

var express = require('express');

var userRouter = express.Router();
var userModel = require('../models/usermodels');

    userRouter.route('/users')

            .post(function(req,res) {
                var users = new userModel(req.body);
                users.name = req.body.name;
                users.age = req.body.age;
                users.save();
                res.status(200).send(users)
            })

模型

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var UsersSchema = new Schema({
    name:String,
    age:Number
});
var model = mongoose.model('Users',UsersSchema);

module.exports = model;

我的错误在哪里?

这是img enter image description here

2 个答案:

答案 0 :(得分:1)

您必须确保在定义路线之前定义所有配置。我认为您定义了之后以及之所以不起作用的原因。如果这样做,您可以继续使用express.bodyParser()。

答案 1 :(得分:0)

使用console.log进行调试,并在保存时使用错误回调

从邮递员发送数据时也使用 x-www-form-urlencoded (内容类型)选项

var express = require('express');

var userRouter = express.Router();
var userModel = require('../models/usermodels');

    userRouter.route('/users')    
            .post(function(req,res) {

                //check here if request receive
                 console.log("requessssssssssssssssssss");

                //check the data receive
                 console.log("dataaaaaaaaaaaaaa", req.body); 

                var users = new userModel(req.body);
                users.name = req.body.name;
                users.age = req.body.age;

                //check if any error 
                users.save(function(saveError){
                      if(saveError){
                       return  res.status(400).send(saveError)
                       }else{
                         res.status(200).send(users)
                       }
                });


            })
相关问题