服务器返回201,但承诺路由错误

时间:2017-05-01 00:43:48

标签: javascript angularjs angular-promise

我有一个名为AuthService的服务,它发出登录后的请求

服务器响应为201但执行then()中的第二个函数而不是第一个

 AuthService.login(credentials)
    .then(function(data){
        console.log("Login success====")
        console.log(data);
        //if its successful
        $rootScope.$broadcast(AUTH_EVENTS.loginSuccess);
        $scope.setCurrentUser(user);

        $state.go('dashboard.account');  
    }, function(error){  // THIS IS EXECUTED ONCE SERVER RESPONDS
        console.log("Login error====")
        //$rootScope.$broadcast(AUTH_EVENTS.loginFailed);
        console.log('Error: ' + error);
     });

所以我得到“登录错误===”而不是成功。我不确定我为什么要遵循这个指南

https://medium.com/opinionated-angularjs/techniques-for-authentication-in-angularjs-applications-7bbf0346acec

我认为201是成功的

错误包含

Error: TypeError: Cannot read property 'id' of undefined

// Session是一种存储用户数据的服务

.factory('AuthService', function ($http, Session) {
   var authService = {};

   authService.login = function (credentials) {
     return $http
     .post('/login', credentials)
     .then(function (res) {
        Session.create(res.data.id, res.data.user.id,
                   res.data.user.role);
        return res.data.user;
   });
};

0 个答案:

没有答案