更新後に $cookieStore が Cookie 値を保持することに問題があります。Cookie を処理する UserService の 2 つのメソッドを次に示します。
var getCurrentUser = function () {
return $cookieStore.get('currentUser');
};
var updateCurrentUser = function () {
return $http.get(baseUrl + 'api/session').then(function (response) {
$cookieStore.put('currentUser', response.data);
$rootScope.$broadcast('currentUser', response.data);
}, function (response) {
$cookieStore.remove('currentUser');
$rootScope.$broadcast('currentUser', null);
});
};
アプリ全体で、現在のユーザーのメタ データに影響を与えるアクションが実行された後、UserService.updateCurrentUser()
サーバーから最新のユーザー データを取得し、その Cookie を更新する を呼び出します。次に、ユーザー データを表示する場所に、その特定のコントローラーでユーザー モデルを更新する次のコードがあります。
$scope.$on('currentUser', function (event, data) {
$scope.user = data;
});
コードをステップ実行すると、すべてが正しく機能しているように見えます。ラインが実行された後$cookieStore.put('currentUser', response.data);
、更新された値は をチェックすることで確認できます$cookieStore.get('currentUser')
。しかし、ブラウザ ツールを使用して実際の Cookie を確認すると、Cookie の値が更新されていません。新しいデータを表示するためにブラウザー ツールを更新する必要があるかどうかはわかりません。しかし、ページを更新すると、更新された Cookie 値もどこにも表示されません。何が起こっている?
前もって感謝します。