我无法使用$ resource来发布一些新内容......它非常适合更新和更新查询,但是当我尝试创建一个新的“文章”时,它会让人感到有些困惑。
基本上我的POST应该发送到“/ articles /”。文章的ID是通过前端的表单设置的,但是当我提交POST时,它会被发送到“/ articles / ARTICLE_ID”(ARTICLE_ID被替换为我在表单上设置的任何内容)。
这是我的文章服务:
angular.module('testapp.articles')
.factory("Articles", ['$resource', function($resource) {
return $resource('articles/:articleId', {
articleId: '@articleId'
}, {
update: {
method: 'PUT'
}
});
}]);
这是我的控制器:
$scope.create = function() {
var article = new Articles({
articleId: this.articleId
});
article.$save(function(response){
console.log(response);
});
};
感谢任何帮助,谢谢!
答案 0 :(得分:0)
它会转到/articles/ARTICLE_ID
,因为这是您在创建Article
时指定的内容。您无需提供article_id
作为参数。
$scope.create = function() {
var article = new Articles();
article.articleId = this.articleId
article.$save();
...
};
使用较新版本的AngularJS,无论如何都会选择articleId
。您的服务可以简化如下:
angular.module('testapp.articles')
.factory("Articles", ['$resource', function($resource) {
return $resource('articles/:articleId', null,
{
'update': { method: 'PUT' }
});
}]);