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

时间:2015-05-20 14:36:25

标签: javascript angularjs

在我的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

这给了我一个错误>>

  

类型错误:无法设置属性'用户'未定义...

为什么?

1 个答案:

答案 0 :(得分:1)

发生这种情况是因为您位于.success来电的$http分支内,所以当您说this.user时,this并未参考你认为它做什么。我猜你希望this引用控制器。最佳做法是在控制器开始时执行类似

的操作
var vm = this;

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

vm.user = response.user
$http来电中