angular js,我无法访问$http请求响应

angular js , i cant access $http request response

本文关键字:http 请求 响应 访问 js angular      更新时间:2023-09-26

在我的angularjs服务中,$http请求,当我使用request.success(function(response){...

这就是控制台中显示的响应>>

"Object {user: Object, shop: Object, products: Array[2]}"

这是用户对象>>

Object {userId: "1", password: "b", email: "b", createDateTime: "2015-05-19 21:35:40", updateDateTime: "2015-05-19 21:35:40"…}

我尝试像这样访问响应的用户对象>>

this.user = response.user

这给了我一个错误>>

类型错误:无法设置未定义的属性"user"。。。

为什么?

之所以会发生这种情况,是因为您在$http调用的.success分支中,所以当您说this.user时,this并不是指您认为它做了什么。我猜您希望this引用控制器。这方面的最佳实践是在控制器开始时做一些类似的事情

var vm = this;

然后,不会与this关键字发生冲突,您可以分配

vm.user = response.user

在您的$http呼叫中。