gpt4 book ai didi

javascript - 使用 Express REST API 编辑帖子

转载 作者:行者123 更新时间:2023-11-30 12:49:38 26 4
gpt4 key购买 nike

我有一个带有 mongoose 和 mongoDB 的 angular-express 应用

对于 Angular 部分我有:

.controller('EditPostCtrl', ['$scope', '$http', '$location', '$routeParams', function($scope, $http, $location, $routeParams){
// populate the form
$scope.form = {};
$http.get('/api/post/' + $routeParams.post_id)
.success(function(data){
$scope.form = data;
});

// save changes and redirect
$scope.editPost = function(){
$http.put('/api/post/' + $routeParams.post_id, $scope.form)
.success(function(data){
$location.url('/post/' + $routeParams.post_id);
});
};
}])

然后对于快速部分,我有一条路线:

app.put('/api/post/:post_id', posts.editPost);


exports.editPost = function(req, res){
var updatedPost = {
title: req.body.title,
text: req.body.text,
created: req.body.created
};

Post.update({ _id: req.body._id }, updatedPost, function(err, affected){
console.log('affected %d', affected);
});
};

启动服务器后,我可以更新帖子,但在编辑后,我不会像在 angular 中声明的那样被重定向到 '/post/' + $routeParams.post_id。我在 editPost 函数中需要什么?

最佳答案

您需要向客户端发送并回答,例如所有内容都已更新,但没有返回任何内容 (204):

exports.editPost = function(req, res){
var updatedPost = {
title: req.body.title,
text: req.body.text,
created: req.body.created
};

Post.update({ _id: req.body._id }, updatedPost, function(err, affected){
console.log('affected %d', affected);

//returns with no body, but OK:
//res.send(204);
//returns with update entity as body:
res.send(200, updatedPost);
});
};

另见 Express API .

关于javascript - 使用 Express REST API 编辑帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21401376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com