我的Web API控制器中有一个方法返回一个布尔值:
[HttpGet]
public bool ValidateEmployee(string id)
{
return myRepository.VerifyEmployeeId(id);
}
这是我通过Angular调用Web API的UI;
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Employee ID/PIN</title>
<script src="../../Scripts/angular.js"></script>
<script src="EmployeeLoginCtrl.js"></script>
</head>
<body ng-app="myClassesApp">
<div ng-controller="myClassesController">
<form ng-submit="ValidateEmployeeId()" method="get" id="frmLogin" action="">
<input ng-model="empId" type="text" id="txtEmpId" />
<br />
<input type="submit" value="Submit" id="btnSubmit" />
<br />
<span id="lblMsg">{{EmployeeValidate}}</span>
</form>
</div>
</body>
</html>
这是我的角度控制器:
(function () {
angular.module("myClassesApp", []).controller("myClassesController", EmpCtrlFunction);
EmpCtrlFunction.$inject("$scope", "$http");
function EmpCtrlFunction($scope, $http) {
$scope.ValidateEmployeeId = function () {
alert($scope.empId);
$http.get('http://localhost:49358/api/myClasses/ValidateEmployee/' + $scope.empId).
then(function (result) {
alert(result);
$scope.EmployeeValidate = result.data;
});
}
};
})();
当我输入一个id并单击一个按钮时,该行警告($ scope.empId);得到执行然后它永远不会到$ http.get
我做错了什么?
答案 0 :(得分:0)
不要使用警报,因为警报阻塞并导致角度出现各种问题,请使用console.log转储变量值并使用浏览器中的控制台选项卡查看输出
console.log($scope.empId);
使用浏览器中的NET选项卡查看正在进行的HTTP请求
答案 1 :(得分:0)
注入依赖项的方式是错误的。它应该是
EmpCtrlFunction.$inject = ["$scope", "$http"];
因为$ inject不是函数。