似乎没有任何关于使用AngularJS的cookie的真正明确的文档,所以我有点迷失了.
我有两个控制器,一个创建一个cookie并存储用户ID,然后我想在以后另一个控制器运行时检索该ID.我想我已经成功创建了cookie并为id存储了一个值,但是我似乎无法从第二个控制器中的cookie中取回id.当我尝试读取id时,我在控制台中收到错误:
TypeError: 'undefined' is not an object
PS:我在Xcode工作,因为这是在iPhone的ios应用程序中.
function firstCtrl($scope,$cookieStore) { $scope.connectToFacebook = function() { FB.api('/me',function(response,data,status,headers,config) { var fbid=response.id; $cookieStore.put('id',fbid); console.log($cookieStore.get('id')); //This correctly displays the users FB id }); } } function secondCtrl($scope,$cookieStore) { $scope.submit = function() { console.log($cookieStore.get('id')); // This is currently displaying: TypeError: 'undefined' is not an object }; }
解决方法
接受你的建议格雷格去了本地存储.
对于其他任何有问题并寻找合适方法的人,我使用了:@H_502_28@https://github.com/grevory/angular-local-storage
当localstorage不可用时,它会优雅地降级为cookie
演示可在此处获取:http://gregpike.net/demos/angular-local-storage/demo.html