Web服务中的Angular JS Service错误

时间:2016-06-01 12:22:13

标签: angularjs

我正在尝试将Angular JS服务用于各种目的。我已经在main script.js中创建了函数,但是想要转移employeeService.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函数的方法来给出错误。可能是什么原因? 我正在使用的Web服务有任何问题吗?

1 个答案:

答案 0 :(得分:1)

您需要将$http注入工厂。然后,您希望返回承诺并更新控制器内的闭包内的$scope

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