Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析来自后端api的json_Javascript_Angularjs - Fatal编程技术网

Javascript 解析来自后端api的json

Javascript 解析来自后端api的json,javascript,angularjs,Javascript,Angularjs,我有一个来自后端api的json,如下所示: {"roleIds": [1], "menuIds": [1,2,3]} $http.post(url,{userName:$scope.credential.email,password:$scope.credential.password}).success(function (data, status, headers, config) { $cookies.userDa

我有一个来自后端api的json,如下所示:

{"roleIds": [1], "menuIds": [1,2,3]}
$http.post(url,{userName:$scope.credential.email,password:$scope.credential.password}).success(function (data, status, headers, config) {
                                    $cookies.userData = data;
                                    $window.location.href = 'index.html';
                            })
在angular ui中,我使用以下数据:

{"roleIds": [1], "menuIds": [1,2,3]}
$http.post(url,{userName:$scope.credential.email,password:$scope.credential.password}).success(function (data, status, headers, config) {
                                    $cookies.userData = data;
                                    $window.location.href = 'index.html';
                            })

如何解析$cookies.userData对象以获取roleIds和menuIds?

$cookies.userData=JSON.parse(数据); 它将返回一个对象

$cookies.userData = JSON.parse(data);
然后您可以通过以下方式访问它:

$cookies.userData["roleIds"]
$cookies.userData["menuIds"]

为什么
$cookies.userData

您可以在普通
变量
$scope
对象中分配它,然后使用
点(.)
运算符解析它

演示

var userData={“roleIds”:[1],“menuIds”:[1,2,3]}
log(userData.roleIds);

日志(userData.menuIds)我的UI是一个使用angular js的单页应用程序。我还使用cookies来存储用户信息,以便通过应用程序访问。使用$scope将绑定到特定的视图和控制器。还有其他选择吗?建议?您可以使用服务在应用程序之间、多个控制器和视图之间进行通信,或者,如果数据不那么重要,您也可以使用HTML5本地存储。是的,服务是一种很好的方法。可以通过所创建服务的函数调用公开数据。是的,我们可以。请看我的回答。。