if (user.username && user.password) {
loginService.loginUser(user).then(
function(response) {
$cookies.put("token", response.token)
$rootScope.token = response.token
$cookies.put("username", response.username)
}
}
token直接放在$rootScope也可以达到存储的目的,所以$cookies有啥用?
阿神2017-05-15 17:16:24
개인적으로는 $rootScope는 실제로 메모리에만 저장된다는 것입니다. 페이지를 새로 고치면 $rootScope의 내용이 지워집니다.
쿠키에는 그런 문제가 없지만, 쿠키의 저장 용량이 다소 제한되어 있습니다
PHPz2017-05-15 17:16:24
여기에는 영구 저장소와 임시($rootScope) 저장소의 차이가 있습니다. 또한 HTML5 사양에는 localStorage 및 sessionStorage도 정의되어 있습니다. 또한 위의 저장소 솔루션을 사용하는 경우 개체 직렬화 및 역직렬화가 포함됩니다. $rootScope를 사용하는 방법에는 위의 내용이 포함되지 않습니다. 마지막으로, 관심이 있으신 분들은 다양한 보관 방법의 장단점을 확인해 보시기 바랍니다. 웹앱을 구축하는 경우 메모리 부족으로 인해 localStorage에 존재하는 문제를 더 자세히 이해할 수 있습니다. 요약하자면, 데이터를 유지해야 하는지 여부에 따라 스토리지 방법을 선택하세요.