2017-09-22 1 views
0

브라우저를 새로 고치기까지 사용자 로그인 상태를 유지하고 싶습니다. 그러나 angularjs에 $ 쿠키를 적용하면 문제가 발생합니다. 다음은 내 코드입니다.angularjs에서 쿠키가 작동하지 않습니다.

function signIn() { 
    var params = {email: vm.email, password: vm.password}; 
    Service.authBuffer = _.extend(Service.authBuffer, params); 
    $.ajax({ 
     type:  'POST', 
     url:  GetEndpointUrl('/api/auth/login'), 
     dataType: "jsonp", 
     data:  params, 
     success: function(data) { 
      console.log("login data", data); 
      $scope.safeApply(function() { 
       Service.authBuffer = _.extend(Service.authBuffer, data); 
       console.log("login auth data", Service.authBuffer); 
       $location.path('/task'); 
       var cookieExp = new Date(); 
       cookieExp.setDate(cookieExp.getDate() + 7); 
       $cookies.put('Service.authBuffer', Service.authBuffer.email, { expires: cookieExp }); 
      })    
     } 
    })  
} 

그래서 $ 쿠키가 작동하도록 코드를 변경하는 방법을 궁금합니다.

+0

쿠키는 제한된 크기의 데이터 만 저장합니다. 데이터 크기를 확인하십시오. – Edison

답변

0

아마도 ngCookies 모듈을 삽입하지 않았을 것입니다. 문제의 더 나은 이해를 얻기 위해이 질문이

angular.module('cookiesExample', ['ngCookies']) 

.controller('ExampleController', ['$cookies', function($cookies) { 
    // Retrieving a cookie 
    var favoriteCookie = $cookies.get('myFavorite'); 
    // Setting a cookie 
    $cookies.put('myFavorite', 'oatmeal'); 
}]); 

Reference Link

0

응답 몇 가지 같은 것을 사용 을 - 당신은 브라우저 의 콘솔 로그에서 얻을 오류 메시지를 제공하십시오 - 당신이 angular- 포함해야 쿠키 라이브러리? - 앱 모듈에 ngCookies를 삽입 했습니까? - 컨트롤러에 $ 쿠키를 주입 했습니까?

관련 문제