相关疑难解决方法(0)

Angular.js $ http.post TypeError:无法读取未定义的属性"data"

Angular.js v1.0.6

制作$ http.post并收到非200 resposne(在这种情况下为401)

$http.post('http://localhost:3030/auth/login', {
  username: 'username',
  password: 'password'
})
.success(function(data) {
  // Gets called on a 200 response, but not on a 401
  console.log('success');
})
.error(function(err) {
  // Never gets called & dies with error described below.
  console.log('error');
});
Run Code Online (Sandbox Code Playgroud)

Angular会抛出以下错误:

TypeError: Cannot read property 'data' of undefined
    at http://localhost:9000/components/angular/angular.js:8891:22
    at wrappedCallback (http://localhost:9000/components/angular/angular.js:6797:59)
    at http://localhost:9000/components/angular/angular.js:6834:26
    at Object.Scope.$eval (http://localhost:9000/components/angular/angular.js:8011:28)
    at Object.Scope.$digest (http://localhost:9000/components/angular/angular.js:7876:25)
    at Object.Scope.$apply (http://localhost:9000/components/angular/angular.js:8097:24)
    at done (http://localhost:9000/components/angular/angular.js:9111:20)
    at completeRequest (http://localhost:9000/components/angular/angular.js:9274:7)
    at XMLHttpRequest.xhr.onreadystatechange (http://localhost:9000/components/angular/angular.js:9244:11) 
Run Code Online (Sandbox Code Playgroud)

并且从不调用.success()回调或错误.error()回复使得无法处理响应. …

javascript authentication http http-status-code-401 angularjs

28
推荐指数
1
解决办法
3万
查看次数

在使用AngularJS的工厂中,$ location.path不会更改

我的工厂看起来像:

'use strict';

angular.module('myApp')
  .factory('httpInterceptor',['$q','$location', '$rootScope', function($q, $location, $rootScope){
    return {
      response: function(response) {

        if(response.success === false) {
console.log("Redirecting");
            $location.path('/login');
            return $q.reject(response);
        }

        return response || $q.when(response);
      }
    }
}]);
Run Code Online (Sandbox Code Playgroud)

它吐出日志,但不会改变路径.我该怎么做才能实现这一目标?

angularjs angularjs-routing angularjs-factory

5
推荐指数
2
解决办法
6336
查看次数