6

AngularJS での Cookie の使用に関する本当に明確なドキュメントはないように思われるので、これで少し迷っています。

2 つのコントローラーがあり、1 つは Cookie を作成してユーザー ID を保存し、後で別のコントローラーが実行されているときにその ID を取得したいと考えています。Cookie を正常に作成し、ID の値を保存したと思いますが、2 番目のコントローラーで Cookie から ID を取得できないようです。ID を読み取ろうとすると、コンソールに次のエラーが表示されます。

TypeError: 'undefined' is not an object

PS: これは iPhone 用の ios アプリ内にあるため、Xcode で作業しています。

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
    };
}
4

1 に答える 1

7

Greg のアドバイスを受けて、代わりに localstorage を選択しました。

問題があり、適切なアプローチを探している他の人のために、私は使用しました: https://github.com/grevory/angular-local-storage

ローカルストレージが利用できない場合、Cookie に正常に低下します

ここで利用可能なデモ: http://gregpike.net/demos/angular-local-storage/demo.html

于 2013-02-26T16:27:54.930 に答える