NPM请求模块莫名其妙无法正常工作

时间:2017-01-14 17:13:22

标签: node.js express mongoose request

我花了好几个小时试图弄清楚为什么在提交表单时对API的简单发布请求无效。控制台显示请求到达API控制器地址,但请求中缺少json。当通过邮递员发送到同一地址时,一切正常,并且mongoose创建新的MongoDB条目。

以下是我的帖子请求代码:

    module.exports.doNewArticle = function(req, res){
//  var postdata = {
//      title: req.body.title,
//      caption: req.body.caption,
//      date: req.body.date,
//      content: req.body.content
//  };
    var path = 'api/newArticles/';
    var requestOptions = {
        url: apiOptions.server + path,
        method: 'POST',
        json: {
            title: req.body.title,
            caption: req.body.caption,
            date: req.body.date,
            content: req.body.content
            }
    } 

    request(requestOptions, function(err, response, body){
        console.log(body);
    })


}

当我通过Postman拍摄请求时,API控制器正常工作:

module.exports.doArticleCreate = function(req, res){
    console.log(req.body)
    // Function for compiling scores
    Article.create({
        title: req.body.title,
        caption: req.body.caption,
        date: req.body.date,
        content: req.body.content,
        methods: {
            sum: 0,
            count: 0
        },
        record: {
            sum: 0,
            count: 0
        },
        stats: {
            sum: 0,
            count: 0
        }

    }, function(err, newArticle){
        if(err){
            console.log("Could not post new article   " + err);
        } else {
            console.log(newArticle + "  HAS BEEN CREATED");
        }
    });


};

和猫鼬模型:

var mongoose = require("mongoose");

var articlesSchema = new mongoose.Schema({
    title: String,
    caption: String,
    date: String,
    content: String,
    methods: {
        sum: Number,
        count: Number
    },
    record: {
        sum: Number,
        count: Number
    },
    stats: {
        sum: Number,
        count: Number
    }
});

module.exports = mongoose.model('Articles', articlesSchema);

请帮助!!!

0 个答案:

没有答案
相关问题