AngularJS:将对象存储在 cookie 中,结果为 [Object Object]
AngularJS: Storing an object in a cookie giving result of [Object Object]
我试图在将此用户对象发送到我的服务时将一组用户凭据存储在 cookie 中 -
this.SetCookie = function (user) {
$cookies.user = user;
}
但是,当我尝试检索此 cookie 时,我得到的不是对象,而是一个字符串,上面写着“[Object Object]”
我可以将所有用户凭据单独存储在他们自己的 cookie 中,我知道我可以做到这一点,但它似乎效率很低?有没有简单的解决方法?我为这个问题找到的最高结果与 JQuery 有关,但对我不起作用。
您正在直接打印将始终显示 [Object Object]
的对象,因为它包含一个 JSON
对象,而在打印它时,它使用警报方法使用 .toString()
方法在控制台中显示它。
您需要创建 JSON.stringify(user)
将所有 JSON
对象转换为字符串。在使用该对象时,您需要使用 JSON.parse(user)
将对象转换为 JSON
JSON.stringify(user); //for storing in cookies
JSON.parse($cookies.user); //for converting into an object
在 Angular 1.4 中,我发现通过像这样创建 cookie 来存储 JSON 对象:
var obj = {
currentUser: {
username: "testUN",
authdata: authdata
}
};
$cookies.putObject('cookieName', obj);
允许您像这样取回 cookie:
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'));
}]);
我试图在将此用户对象发送到我的服务时将一组用户凭据存储在 cookie 中 -
this.SetCookie = function (user) {
$cookies.user = user;
}
但是,当我尝试检索此 cookie 时,我得到的不是对象,而是一个字符串,上面写着“[Object Object]”
我可以将所有用户凭据单独存储在他们自己的 cookie 中,我知道我可以做到这一点,但它似乎效率很低?有没有简单的解决方法?我为这个问题找到的最高结果与 JQuery 有关,但对我不起作用。
您正在直接打印将始终显示 [Object Object]
的对象,因为它包含一个 JSON
对象,而在打印它时,它使用警报方法使用 .toString()
方法在控制台中显示它。
您需要创建 JSON.stringify(user)
将所有 JSON
对象转换为字符串。在使用该对象时,您需要使用 JSON.parse(user)
将对象转换为 JSON
JSON.stringify(user); //for storing in cookies
JSON.parse($cookies.user); //for converting into an object
在 Angular 1.4 中,我发现通过像这样创建 cookie 来存储 JSON 对象:
var obj = {
currentUser: {
username: "testUN",
authdata: authdata
}
};
$cookies.putObject('cookieName', obj);
允许您像这样取回 cookie:
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'));
}]);