2013-10-16 4 views
9

응답을 통해 서버에서 쿠키를 작성하고 있는데, angularJs를 사용하여 동일한 쿠키를 읽으려고하면 문제가되지 않습니다. $ cookieStore.get() '정의되지 않은,

console.log($cookieStore.get("r")); 

$의 CookieStore

은 주입하고 AngularJS와 쿠키를 읽을 수없는 이유를 확인, 난 그냥 궁금 해서요 실행 보인다, 내가 크롬을 사용하여 개발자 도구와 디버깅하고 쿠키가있다.

enter image description here

r: undefined

편집 :

나는 $ 쿠키 서비스를 시도하고 나뿐만 아니라 정의되지 않은 얻을.

public override object Logout(IServiceBase service, ServiceStack.ServiceInterface.Auth.Auth request) 
     { 
      var resp = service.RequestContext.Get<IHttpResponse>(); 
      resp.Cookies.AddCookie(new Cookie { Name = "r", Path = "/", Value = "from server", HttpOnly = false, Discard = false, Expires = DateTime.Now.AddHours(12) }); 
      return base.Logout(service, request); 
     } 

답변

6

:

난 다음 나는

것은 내가 서비스 스택과 코드를 사용하고 크롬 개발자 도구에서 쿠키를 얻고, 아무 문제없이 서버 측에서 쿠키를 보내기위한 나는 $cookieStore가 그 자체로 사용되는 것을 의미한다고 생각하는데, 'r'은 다른 곳에서 설정 되었습니까? Docs는 쿠키에 의해 지원되는 키/값 저장소를 제공하고 쿠키에 대한 직접 액세스는 제공하지 않는다고 말합니다. 'myValue'를 'jason'으로 설정하면 %22jason%22(fiddle)이 저장됩니다. 원하는 경우 javascript 객체에 값을 설정할 수 있다는 것을 의미합니다. 그러면 cookieStore가이를 직렬화하고 비 직렬화합니다.

enter image description here

것은 $cookies 대신 그냥 설정할 수있는 속성을 사용하여 시도하고 값 (fiddle) 인코딩되지 않습니다

enter image description here

$scope.setValue = function() { 
     $cookieStore.put("myValue", $scope.value); 
    }; 

    $scope.getValue = function() { 
     $scope.value = $cookieStore.get('myValue'); 
    }; 

    $scope.setCookieValue = function() { 
     $cookies.otherValue = $scope.value; 
    }; 

    $scope.getCookieValue = function() { 
     $scope.value = $cookies.otherValue; 
    }; 
+0

** 다른 어딘가에 'r'이 설정 되었습니까? ** 예, 서버 측에서 설정되었습니다. - 나는 단지 값에 직접 액세스하고 싶습니다. 대신 $ 쿠키를 사용하려고합니다. –

+0

두 경우 모두 $ cookies [ 'r'] 및 $ cookies.r이 정의되지 않았습니다 –

+0

콘솔에 'document.cookie'가 표시됩니까? –

6

예 @Pedro가 바로 .NET에 예를 들어 기본적으로 HttpCookie로 인증을 수행 할 때 HttpOnly 속성이 true이고 javscript -> document.cookie에서 방금 브라우저에 저장 한 쿠키를 찾을 수 없습니다.

쿠키를 저장할 때 허위 HttpOnly로 설정하여 나를 위해 일했습니다.

+0

알아두면 좋은 정보! 경험을 공유해 주셔서 감사합니다 –

+0

그건 의견이어야합니다. 평판이 51 점이면, 당신은 논평 할 수 있어야합니다. –

관련 문제