javascript - 通过 Angular 工厂的 POST 请求发送数据

标签 javascript angularjs

我在 Controller 中有这个

angular.module('myApp')
  .controller('TaskController', function ($scope, TaskFactory) {
    $scope.addTodo = function () {
      $scope.todos.push({text : $scope.formTodoText});
      $scope.formTodoText = '';
    };
  });

这是在工厂里的

angular.module('myApp')
  .factory('TaskFactory', function ($q, $http) {
    var sendTasks = function(params) {
      var defer = $q.defer();
      console.log(1, params);
      $http.post('http://localhost:3000/task/save', params)
        .success(function(data) {
          console.log(2);
          console.log('data', data);
        })
        .error(function(err) {
          defer.reject(err);
        });
      return defer.promise;
    }

    return {
      sendTask: function(taskData) {
        console.log('taskData', taskData);
        return sendTasks('/task/save', {
          taskData : taskData
        })
      }
    }
  });

我需要知道的是,如何将数据从 Controller 发送到工厂,以便对指定的路由进行 POST ?

最佳答案

您只需使用所需的参数调用工厂内的函数/方法即可。

 angular.module('myApp')
  .controller('TaskController', function ($scope, TaskFactory) {
    $scope.addTodo = function () {
      $scope.todos.push({text : $scope.formTodoText});
      TaskFactory.sendTask({data : $scope.formTodoText})
      $scope.formTodoText = '';
    };
  });

关于javascript - 通过 Angular 工厂的 POST 请求发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34326491/

相关文章:

javascript - 是否可以使用 for 循环进行 DRY Protractor 测试? *var coming undefined*

javascript - angularjs - $http 读取 json 并等待回调

javascript - 如何在 JavaScript 中将函数作为参数传递?

javascript - 多色条JS图表库

JavaScript 或 jquery 加载器

javascript - View / Controller 不会使用 angularjs 中的 socket.io 使用 Push() 函数刷新

javascript - 如果客户端产生错误,则 Protractor 测试失败

javascript - TemplateUrl、ngRoute 这是错误的

javascript - 为什么我的 angularJS 在我的示例网站上不起作用?

javascript - 使 div 出现并将整个 html 更改为更暗