我目前正在我的应用中实现登录功能。我使用AngularJS和$cookieStore
。当我发出ajax请求来验证用户时,我从服务器获得了一个cookie。我想在success()
中使用此Cookie在我的Auth服务中设置用户。在我要求像这样的cookie之后,我使用chrome开发工具暂停:
var cookieUser = $cookieStore.get('user');
但结果是undefined
,但 unescape(document.cookie)
上的Chrome观看表示已设置Cookie "user"
。
如果我运行请求两次:$cookieStore.get('user')
将返回上一个cookie。
为什么$cookieStore
没有更新我刚收到的Cookie?
答案 0 :(得分:1)
AngularJS' uses an asynchronous $watch
callback to write cookies.因此,您需要将Cookie读取包装在$timeout
内,或者在不使用$cookieStore.get
的情况下访问数据。
答案 1 :(得分:0)
我遇到了类似的问题。
在我的appplication中成功登录后,我当然要转换到一个州' main.index'在解决对象中,我无法使用$ cookies对象(角度)获取身份验证Cookie,但我能够在document.cookie中看到它。
我认为$ cookies会比 @swenedo 提到的$ .cookie更新一点。
使用jquery的$ .cookie为我工作。