gpt4 book ai didi

javascript - 在 Angular js 中打印 JSON,我可以在控制台中看到,但无法打印相同的内容

转载 作者:行者123 更新时间:2023-12-03 06:19:30 25 4
gpt4 key购买 nike

我错过了一些非常简单的东西。

在我的 Controller 中,我正在获取 JSON 对象。

app.controller("dashboardCtrl",  ["$scope","authFactory","$location", function($scope,authFactory,$location){
var userObj = authFactory.getUserObj(userObj);
console.log(userObj);
$scope.userObj = userObj;

var accessToken = authFactory.getAccessToken();
console.log(accessToken);
$scope.accessToken = accessToken;

$scope.FBout = function(){
FB.logout(function(response) {
authFactory.clearCookie();
$location.path("/");
$scope.$apply();
});
};
}]);

在控制台中,我得到如下响应

{"name":"Pavan Sudheendra","id":"539193599614696"}

其工厂代码如下所示:

app.factory("authFactory",["$cookies","$location",function($cookies,$location){
var authFactory = {};

authFactory.setAccessToken = function(accessToken){
$cookies.put("accessToken",accessToken);
}

authFactory.getAccessToken = function(){
return $cookies.get("accessToken");
}

authFactory.getUserObj = function(){
var userObj = $cookies.get('userObj');

if(userObj){
return userObj;
}
else {
console.log("error");
}
}

authFactory.clearCookie = function(){
$cookies.remove("accessToken");
$cookies.remove("userObj");
}

authFactory.isAuthenticated = function(){
var isLoggedIn=$cookies.get("accessToken")?true:false;
return isLoggedIn;
}

return authFactory;
}]);

但我正在尝试使用该对象,在前端打印它。喜欢

<h1> this is dashboard {{accessToken}} {{userObj.name}} </h1>

我确信我已经包含了每个 Controller 并将工厂链接到它,而且问题是我能够打印访问 token 。但是我无法打印它的名称和 id。

如果我尝试打印{{userObj}},整个对象将被打印。那么如果我尝试 {{userObj.name}} 那么我应该获取该用户对象的名称值,对吗?

最佳答案

正如评论中所讨论的,您的 cookie 存储的是字符串,而不是对象。您可以使用 angular.fromJson 方法从 JSON 字符串中获取对象。

$scope.userObj = angular.fromJson(userObj)

您可以通过使用 $cookies 服务的 getObjectputObject 方法进一步简化事情,让 Angular 序列化和反序列化对象背景。

关于javascript - 在 Angular js 中打印 JSON,我可以在控制台中看到,但无法打印相同的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38942567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com