このユーザーオブジェクトをサービスに送信するときに、ユーザー資格情報のグループをCookieに保存しようとしています-
this.SetCookie = function (user) {
$cookies.user = user;
}
ただし、このCookieを取得しようとすると、オブジェクトではなく、「[オブジェクトオブジェクト]」という文字列しか取得できません。
私はそれを機能させることができることを知っているので、すべてのユーザー資格情報を独自のCookieに個別に保存できますが、それはかなり非効率的ですか?これに対する簡単な修正はありますか?この問題について私が見つけた上位の結果はJQueryに関連しており、私にとってはうまくいきませんでした。
JSON
のオブジェクトが含まれているため常に_[Object Object]
_を表示するオブジェクトを直接印刷していますが、アラートメソッドを印刷しているときに、コンソールでそれを表示するために.toString()
メソッドを使用しています。
すべてのJSON
オブジェクトを文字列に変換するJSON.stringify(user)
を作成する必要があります。そのオブジェクトを使用している間、オブジェクトをJSON
に変換するJSON.parse(user)
を使用する必要があります
Angular 1.4では、次のようにCookieを作成してJSONオブジェクトを保存していることがわかりました。
_ var obj = {
currentUser: {
username: "testUN",
authdata: authdata
}
};
$cookies.putObject('cookieName', obj);
_
次のようにクッキーを取り戻すことができます:
var cookieWObject = $cookies.getObject('cookieName');
次に、次のような値を取得します。
_var username = cookieWObject.currentUser.username;
var authdata = cookieWObject.currentUser.authdata;
_
angularでcookieを使用するには、コントローラーで依存性 'ngCookies'を注入するか、angular.module( 'app'、[ngCookies])で宣言する必要があります。$ cookieStoreは非推奨です。
var app = angular.module('myApp',['ngCookies']);
app.controller('cookiesController',['$scope','$cookies',function($scope,$cookies){
//using put method you can add value using key value
$cookies.put('Kye','Admin');
//access cookies value
console.log($cookies.get('Key'));
//You can add also object in Cookies
var data = {
'name':'admin',
'pass':'admin'
}
$cookies.putObject('data',data);
//access object value
console.log($cookies.getObject('data'));
}]);
JSON.stringify(user); //for storing in cookies
JSON.parse($cookies.user); //for converting into an object