我花了好几个小时试图弄清楚为什么在提交表单时对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);
请帮助!!!