2016-04-20 11 views
1

私はこれを持っていますサービスコントローラコードです。ボタンクリックでangularJsサービスを呼び出す方法は?

angular.module('myModule', []).service("AttendanceService", function ($http) { 
     this.getdata = function() { 

      return $http({ 
       method: "post", 
       url: "Dashboard/GetAttendanceReport", 
       params: [{ EmpID: $("#nameofEmp").val(), YearID: $("#YearIn").val() }], 
       dataType: "json" 
      }); 
     }; 
}).controller('myController', function ($scope, AttendanceService) { 

     GetAlldata(); 
     function GetAlldata() 
      { 
      var getAttendanceData = AttendanceService.getdata(); 
      } 
      }) 

私がしたいことは

$("#btnLoad").click(function (event) { 

    }); 

をクリックし、ボタンの上に上記のサービスすなわち

return $http({ 
       method: "post", 
       url: "Dashboard/GetAttendanceReport", 
       params: [{ EmpID: $("#nameofEmp").val(), YearID: $("#YearIn").val() }], 
       dataType: "json" 
      }); 

を呼び出すために、単純であるが、それは可能ですか?私は

答えて

1
You need to change your factory like this : 

    angular.module('myModule', []).service("AttendanceService", function ($http) {    
      var fac = {}; 
      fac.getdata = function() { 

       return $http({ 
        method: "post", 
        url: "Dashboard/GetAttendanceReport", 
        params: [{ EmpID: $("#nameofEmp").val(), YearID: $("#YearIn").val() }], 
        dataType: "json" 
       }); 
      }; 

return fac; 
}) 



$("#btnLoad").click(function (event) { 
     AttendanceService.getdata(); 
    }); 
+0

は私がキャッチされないにReferenceErrorを取得しています...これには非常に新しいです:エラーAttendanceServiceは、あなたが引用符を使用してサービス「AttendanceService」を注入する必要はあり – akash

+0

定義されていません。 "AttendanceService"や "AttendanceService"のようにコントローラに......... –

+0

私はすでにそれをしています – akash

関連する問題