我正在尝试为我的对象实现删除方法,但遇到了一些麻烦。
例如,我的函数引用了错误的 URL /users/1/tasks?id=1
但就我而言,我希望它引用 /users/1/tasks/1
。如何解决这个问题?
var app = angular.module('Todolist', ['ngResource']);
app.factory('Task', [
'$resource', function($resource) {
return $resource('/users/:user_id/tasks/', {user_id: '@user_id'}, {update: {method: 'PUT'}});
}
]);
app.controller('TasksCtrl', [
'$scope', 'Task', function($scope, Task) {
$scope.user = current_user
$scope.deleteTask = function(task){
alert(task.id);
if (confirm('Are you sure')) {
var index = $scope.tasks.indexOf(task);
Task.delete({ user_id: $scope.user.id, id: task.id },
function(success){
$scope.tasks.splice(index, 1);
});
}
};
}
]);
最佳答案
那么,您应该使用 /users/:user_id/tasks/:task_id
这样的路径来获取正确的 URL /users/1/tasks/1
。否则,在当前形式中,它将读取 /tasks/
之后的部分作为查询参数,这就是当前正在发生的情况。
关于javascript - .delete() 渲染错误路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32228105/