控制器没有使用AngularJS将表单值保存到json服务器

时间:2016-05-20 21:11:24

标签: angularjs

我有一个名为feedbackFactory的服务正在返回资源。然后我有一个名为FeedbackController的控制器,它应该接受表单并将其保存到JSON服务器。我遇到的问题是表单保存到JSON服务器,但没有传递任何值。看起来唯一传递的是我在单独的控制器中在var feedback下列出的字段名称。我不确定我做错了什么。

.service('feedbackFactory', ['$resource', 'baseURL', function ($resource,     baseURL) {
    this.getFeedback = function () {
        return $resource(baseURL + "feedback/:id", null, {'save': {method: 'POST'}});
    };
}]);


.controller('FeedbackController', ['$scope', 'feedbackFactory', function ($scope, feedbackFactory) {
    $scope.sendFeedback = function() {  
    if ($scope.feedback.agree && ($scope.feedback.mychannel === "")) {
        $scope.invalidChannelSelection = true;
    }
    else {
        $scope.invalidChannelSelection = false;
        $scope.feedback = {mychannel:"", firstName:"", lastName:"", agree:"", email:"", comments:""};
        $scope.feedbackForm.$setPristine();
    }

};
    feedbackFactory.getFeedback().save($scope.feedback);


    }])

1 个答案:

答案 0 :(得分:0)

您不能在sendFeedback函数中调用您的服务。 尝试

$scope.sendFeedback = function() {  
   ...
   feedbackFactory.getFeedback().save($scope.feedback);
};

保存您的数据