我为登录页面编写了一个控制器。这是我的控制器:
var authApp = angular.module('loginApp', [])
authApp.controller('LoginCtrl', ['$scope', '$location', 'loginFactory', function($scope, $location, loginFactory){
$scope.authenticate = function() {
loginFactory.login($scope.username, $scope.password)
.then(function(response) {
console.log(response.$statusText);
}, function errorCallBack(response) {
console.log(response.$statusText);
});
}
}]);
我的服务:
authApp.factory("loginFactory", function ($http) {
return{
login: function(username, password) {
var data = "username="+username+"&password="+password+"&submit=Login";
return $http({
method: 'POST',
url: 'http://localhost:8080/login',
data: data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
}
});
}
当我调试代码时,身份验证似乎很成功,并且它确实进入了then
函数。但是在控制台中没有显示任我得到一个警告(?)说明行console.log(response.$statusText);
未定义。这不是错误,因为它不是红色的。为什么不打印任何东西?
答案 0 :(得分:2)
使用response.statusText
而不是response.$statusText
。 AngularJS $ http请求的文档将statusText列为响应对象的属性之一 - https://docs.angularjs.org/api/ng/service/ $ http