具有JSON根节点的AngularJS $资源

时间:2016-04-06 12:38:23

标签: angularjs json

我是AngularJS的新手。如何处理来自包含根节点的$resource的服务器响应?

我使用$resource从后端获取User,如下所示:

var User = $resource('/user/:id', {id:'@id'});
$scope.user = User.get({id: 1});

如果回复看起来像{ firstName: "Foo", lastName: "Bar" },我可以照常与User中的{{user}}进行互动。

现在,如果响应包含根节点,例如{ user: { firstName: "Foo", lastName: "Bar",我需要{{user.user}}User进行交互。我试过$scope.user = User.get(1).user但没有成功。

2 个答案:

答案 0 :(得分:2)

试试这个:

var User = $resource('/user/:id', {id:'@id'});
User.get({id: 1}).$promise.then(function(response){
$scope.user = response.user;
});

答案 1 :(得分:0)

JSON { firstName: "Foo", lastName: "bar" }描述了包含属性firstNamelastName

的对象

JSON { user: { firstName: "Foo", lastName: "Bar"}}描述了包含属性user的对象,该对象包含属性firstNamelastName

直接从第二个JSON访问user您应该执行以下操作:

User.get({id: 1}).$promise.then(function(response){ $scope.user = response.user; });

通过这种方式,您将响应对象的user属性分配给范围的属性user