我正在通过响应从服务器写一个cookie,这是很好的问题是当我尝试使用angularJs读取相同的cookie $cookieStore.get()返回总是’undefined’,我已经使用开发工具使用chrome和饼干在那里,
console.log($cookieStore.get("r"));
$cookieStore似乎被注入并运行好了,我只是想知道为什么angularJs不能读取cookie.
编辑:
我尝试使用$cookies服务,我也没有定义.
我发送cookie在服务器端没有任何问题,我得到的cookie在chrome开发工具
我正在使用服务堆栈,代码如下:
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); }
我认为
$cookieStore
只是为了自己使用,是在其他地方设置的?该文档表示它提供了一个由Cookie支持的键/值存储,而不是直接访问Cookie.当我将’myValue’设置为’jason’时,它会存储“jason”
(fiddle).这意味着如果需要,您可以将值设置为javascript对象,并且cookieStore将对您进行序列化和反序列化.
尝试使用$cookies
,而不是只能设置属性,值不会被编码(fiddle):
$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; };