2017-05-04 75 views
0

我是一个初学者,有nodejs和express。我正在尝试使用邮递员的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

+0

你需要分享更多信息,比如你如何向服务器发送请求,以及你在哪个端口上运行它。 –

+0

@RohanKumar我使用邮递员发送数据并发布2912。我添加了img。你可以帮我吗 ? –

+0

您会收到200个回复代码。这意味着你的服务器已经成功发送了响应。''users.save()'后我认为它已经返回了你插入的文档的objectId。你是否检查过你的数据库文件是否已保存?你期望的回应是什么? –

回答

1

您必须确保在定义路线之前定义所有配置。我认为您定义之后,它是为什么不工作。如果你这样做,你可以继续使用express.bodyParser()。

0

使用使用调试的console.log,还可以使用错误回调上保存

还可以使用X WWW的窗体-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) 
         } 
       }); 


      }) 
+0

从邮递员发送数据时使用x-www-form-urlencoded选项 –

+0

我不知道为什么需要使用form-urlencoded发送,但我尝试并且不能工作 –

+0

什么是console.log(“dataaaaaaaaaaaaaa”,req.body);显示? –

相关问题