2016-06-01 10 views
0

Angular JSサービスをさまざまな目的で使用しようとしています。私はすでにmain script.jsの中で機能を作りましたが、employeeService.jsサービスファイルに移りたいと思っています。その中に、私は削除機能を実装しようとしています、ここでWebサービス内のAngular JSサービスエラー

/// <reference path="script.js" /> 
app.factory('fetchEmpService', function() { 
    var deleteEmp = function (EID) { 
     if (confirm("Are you sure want to delete?")) { 
      $http({ 
       method: "POST", 
       url: 'EmpWebService.asmx/DeleteEmployee', 
       data: { EmpId: EID }, 
       headers: { 'Content-Type': 'application/json; charset=utf-8' } 
      }) 
     .then(function (reponse) { 
      alert("Deleted successfully."); 
      $scope.getEmployee(); 
     }); 
     } 
    } 
    return { 
     deleteEmp:deleteEmp, 
    }; 
}); 

をコード - で、私の主なscript.jsファイル -

$http.get("EmpWebService.asmx/GetEmp") 
     .then(function (response) { 
      $scope.employees = response.data; 
     }); 

に流通サービスが実行され、制御されることは、内部に行くが、その次のエラーをスローする: angular.js:5582 ReferenceError:$ httpが定義されていません。

同様に、EmployeeList関数を取得するメソッドを呼び出すときにエラーが発生していました。理由は何でしょうか? 私が使用しているウェブサービスに問題はありますか?

+0

$の範囲は、工場やサービス –

答えて

1

$httpを工場に注入する必要があります。あなたは、あなたのコントローラ内

app.factory('fetchEmpService', function ($http) { 
    .... 
}); 
+0

おかげで、注射ではない約束を返し、クロージャ内$scopeを更新する、それが理由でした。 –

+0

'$ scope'は工場で注入することができないので、' $ scope.getEmployee() '関数は工場では機能しません –

+0

$ scopeを関数にも挿入できますか? –

関連する問題