javascript - .delete() 渲染错误路径

标签 javascript angularjs

我正在尝试为我的对象实现删除方法,但遇到了一些麻烦。

例如,我的函数引用了错误的 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/

相关文章:

JavaScript - 未捕获的类型错误 : Object has no method

javascript - 如何自动从 Breeze 查询返回的实体扩展 Knockout 可观察量?

javascript - Angular js + Rails 好主意吗?

javascript - 如何实现下拉列表更改事件捕获功能

javascript - Web 应用程序可用的键盘快捷方式

javascript - 选择特定的 li 到 div

php - 如何在同一个表单中使用两个按钮在ajax中执行不同的操作?

javascript - 从 Controller 内部 Angular 滚动到元素

javascript - AngularJS 和 Webpack 集成

angularjs - 多个指令 [指令#1,指令#2] 要求隔离范围