Это часть схемы моей базы данных
var commentSchema = new mongoose.Schema({
comment: {
type: String,
required: true
},
commentOwner: {
type: String,
required: true
}
});
и это часть моего контроллера angularjs
vm.addComment = function () {
var id = $routeParams.id;
var comment = vm.myComment;
console.log(comment);
var postData = {
comment: comment,
commentOwner: own
};
console.log(postData);
postFactory.postComment(id, postData).then(function (response) {
if (response.status === 200) {
$route.reload();
toastr["success"]("Basic Info Saved Successfully");
}
}).catch(function (error) {
// console.log(error);
toastr["error"]("unsuccessful.Please try again!");
});
}
это моя фабрика
function postComment(postId, comment){
return $http.post('http://localhost:8080/api/posts/' + postId + '/comments', comment).then(complete).catch(failed);
}
function complete(response) {
return response;
}
function failed(error) {
console.log(error);
}
и моя HTML-часть выглядит так
<form name="vm.commentForm" ng-submit="vm.addComment()">
<div class="col-md-9">
<input type="text" class="form-control" placeholder="Add your comment here" required
ng-model="vm.myComment" aria-label="comment" aria-describedby="sizing-addon1">
</div>
<button style="margin:15px;" type="submit" class="btn btn-outline-primary">
<i class="fa fa-send"></i> Send
</button>
</form>
и это мой контроллер экспресс-маршрутов
module.exports.addOneComment = function (req, res) {
var id = req.params.postId;
console.log('Add new comment', id);
Post
.findById(id)
.select('comments')
.exec(function (err, doc) {
var response = {
status: 200,
message: doc
};
if (err) {
console.log("Error finding the post");
res.status(500).json({ "message": err });
} else if (!doc) {
console.log("PostId not found in database", id);
res.status(404).json({ "message": "PostId not found in database" });
}
if (doc) {
_addComment(req, res, doc);
} else {
res
.status(200)
.json({ "message": "Comment Added!" });
}
});
}
var _addComment = function (req, res, doc) {
doc.comments.push({
comment: req.body.comment,
commentOwner: req.body.commentOwner
});
doc.save(function (err, postUpdated) {
if (err) {
res
.status(500)
.json(err);
} else {
res
.status(200)
.json(postUpdated.comments[postUpdated.comments.length - 1]);
}
});
}
когда я пытаюсь отправить сообщение с помощью почтальона, оно работает нормально, но я не могу опубликовать данные из самого приложения и генерирует сообщение об ошибке «Внутренняя ошибка сервера». Так что вы, ребята, можете сказать мне, в чем моя ошибка? большое спасибо!