Angular 删除资源时的 CRUD 解析 ID
Angular CRUD parsing ID on resource remove
我正在尝试编写一个函数来删除答案:
// Remove an answer
$scope.removeAnswer = function(answer) {
Answers.remove(answer._id);
};
但是,我抛出了控制台错误:
DELETE http://localhost:9000/api/answers?0=5&1=4&10=7&11=4&12=2&13=c&14=0&15=0&16=0&17=0&18=0&19=0&2=7&20=0&21=0&22=0&23=4&3=3&4=d&5=0&6=1&7=4&8=2&9=d 404 (Not Found)
当我 console.log(answer._id)
时,我得到一个合理的 ID,例如 348374831
...
为什么它将 ID 转换为奇怪的格式,我该如何解决?
这似乎是一个相同的问题,虽然答案并没有真正解释问题:AngularJS resource - encoding url string parameter as an array
正确的方法是:
$scope.removeAnswer = function(answer) {
Answers.remove({
id: answer._id
});
};
或者不使用 id
,而是使用您在 $resource
工厂定义中使用的正确名称。
示例:
var User = $resource('/user/:userId', {userId:'@id'});
User.get({userId:123}, function(user) {
user.abc = true;
user.$save();
});
$resource
需要 object
参数。这是 Angular docs
中的示例
我正在尝试编写一个函数来删除答案:
// Remove an answer
$scope.removeAnswer = function(answer) {
Answers.remove(answer._id);
};
但是,我抛出了控制台错误:
DELETE http://localhost:9000/api/answers?0=5&1=4&10=7&11=4&12=2&13=c&14=0&15=0&16=0&17=0&18=0&19=0&2=7&20=0&21=0&22=0&23=4&3=3&4=d&5=0&6=1&7=4&8=2&9=d 404 (Not Found)
当我 console.log(answer._id)
时,我得到一个合理的 ID,例如 348374831
...
为什么它将 ID 转换为奇怪的格式,我该如何解决?
这似乎是一个相同的问题,虽然答案并没有真正解释问题:AngularJS resource - encoding url string parameter as an array
正确的方法是:
$scope.removeAnswer = function(answer) {
Answers.remove({
id: answer._id
});
};
或者不使用 id
,而是使用您在 $resource
工厂定义中使用的正确名称。
示例:
var User = $resource('/user/:userId', {userId:'@id'});
User.get({userId:123}, function(user) {
user.abc = true;
user.$save();
});
$resource
需要 object
参数。这是 Angular docs