我正在尝试将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服务有任何问题吗?
答案 0 :(得分:1)
您需要将$http
注入工厂。然后,您希望返回承诺并更新控制器内的闭包内的$scope
app.factory('fetchEmpService', function ($http) {
....
});