angularjs cookieStore何时更新新cookie?
我目前正在我的应用程序中实现登录功能。我使用AngularJS和angularjs cookieStore何时更新新cookie?,angularjs,cookies,Angularjs,Cookies,我目前正在我的应用程序中实现登录功能。我使用AngularJS和$cookieStore。当我发出ajax请求对用户进行身份验证时,我从服务器获得一个cookie。我想在success()中使用此cookie在我的身份验证服务中设置用户。我使用chrome开发者工具在请求cookie后立即暂停,如下所示: var cookieUser = $cookieStore.get('user'); 但结果是未定义,但unescape(document.cookie)上的chrome手表显示cookie
$cookieStore
。当我发出ajax请求对用户进行身份验证时,我从服务器获得一个cookie。我想在success()
中使用此cookie在我的身份验证服务中设置用户。我使用chrome开发者工具在请求cookie后立即暂停,如下所示:
var cookieUser = $cookieStore.get('user');
但结果是未定义
,但unescape(document.cookie)
上的chrome手表显示cookie“用户”
已设置
如果我运行两次请求:$cookieStore.get('user')
返回上一个cookie
为什么,
$cookieStore
没有用我刚收到的cookie更新?因此,您要么需要将cookie读取内容包装在$timeout
中,要么在不使用$cookieStore.get的情况下访问数据
在我的应用程序中成功登录后,我当然要转换到“main.index”状态,在其resolve对象中,我无法使用$cookies对象(angular)获取身份验证cookie,但我能够在document.cookie中看到它
我认为$cookies比@swenedo提到的$cookie更新得稍微晚一点
使用jquery中的$.cookie对我很有效。我知道这与问题无关,但你在个人资料中写了“Sceince”。)好的,谢谢。因此,要使用$cookieStore.get()
而不使用像$timeout
这样的延迟,是不可能的。解决方法可以是在服务器响应中返回用户。另请注意:如果$cookieStore设置了一个cookie,则可以立即通过$cookieStore.get访问,而不会延迟。因此,您可以考虑将cookie设置移到前端。代码>$。cookie('user')
立即可用。