javascript - CRUD的save方法引用了错误的URL

标签 javascript angularjs

我需要我的 Task.save 转到 /users/:user_id/tasks 但它似乎引用了错误的路径,我收到错误:

No route matches [POST] "/users/tasks"

如何解决这个问题?提前致谢。

js

var app = angular.module('Todolist', ['ngResource', 'xeditable']);

  app.factory('Task', [
    '$resource', function($resource) {
      return $resource('users/:user_id/tasks/');
     }
   ]);

  app.controller('TasksCtrl', [
    '$scope', 'Task', function($scope, Task) {

     $scope.addNewTask = function() {
       var task = Task.save($scope.newTask);
       $scope.tasks.push(task);
       $scope.newTask = {};
     };
   }
  ]);

最佳答案

您没有告诉您的资源从哪里获取 :user_id 路径参数。

您可以在调用save时提供它

Task.save({user_id: 'some value'}, $scope.newTask)

或者,如果该属性是 $scope.newTask 的一部分,例如 $scope.newTask = {id: 'some id'},请在资源中声明它定义

return $resource('users/:user_id/tasks', {user_id: '@id'})

关于javascript - CRUD的save方法引用了错误的URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196306/

相关文章:

javascript - 我怎样才能改变点击表格的CSS样式

javascript - 为带按钮的 div 设置 InnerHTML

javascript - 当 Angular 更改时,元素符号颜色无法在 Chrome 中正确显示

angularjs - AngularJS 和 PHP 的服务器不同?

angularjs - DNN ModuleID 未从后面的代码传递到 ascx

javascript - 如何在 Three.js 中正确实现 Cook-Torrance 着色?

javascript defaults/fallbacks 较短的解决方案

javascript - AngularJs - $location.path 不起作用

css - ngStyle 中的 AngularJS 多重背景

javascript - 动态更改 Controller 中的 watch