0

私はjson-serverとdb.jsonを使用しています。db.jsonファイルには、"feedback":[]ユーザーがアプリからフィードバックを送信できる現在空の配列があります。

サーバーにプッシュされるものは何もありません。get メソッドは機能しますが (サーバーからの GET)、PUT は機能しません。

これは私のサービスです:

angular.module('confusionApp')
.constant("baseURL", "http://localhost:3000/")
.service('feedbackService',['$resource','baseURL',function($resource,baseURL){
      this.getFeedback=function(){
        return $resource(baseURL+"feedback/",null,{
          'update':{
            method:'PUT'
          }
        });
      };
    }]);

これがコントローラーです。contactus.html にはフィードバック フォームが含まれているため、2 つのコントローラーがあります。

// contactus.html controllers
.controller('ContactController', ['$scope', function($scope) {
        $scope.feedback = {
            firstName: "",
            lastName: "",
            email: "",
            date:""
        };
    }])
    // Feedback form controller
    .controller('FeedbackController', ['$scope','feedbackService', function($scope,feedbackService) {
$scope.feedbacks=feedbackService.getFeedback().query();
        $scope.sendFeedback = function() {

                $scope.feedback.date=new Date().toISOString();
                $scope.feedbacks.push($scope.feedback);
                $scope.feedbackForm.$setPristine();
                $scope.feedback = {
                    firstName: "",
                    lastName: "",
                    email: "",
                    date:""
                };
        };
    }]) 
4

2 に答える 2

1

新しいフィードバックをプッシュした後、update メソッドを呼び出してデータを更新します

var feedbackService = feedbackService.getFeedback();
...

$scope.feedbacks.push($scope.feedback); 
feedbackService.update($scope.feedbacks)
于 2016-08-20T01:51:59.660 に答える