Javascript angular js,我无法访问$http请求响应
在我的angularjs服务中,$http请求,当我使用Javascript angular js,我无法访问$http请求响应,javascript,angularjs,Javascript,Angularjs,在我的angularjs服务中,$http请求,当我使用request.success(函数(响应){… 这就是控制台中显示响应的方式>> "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-
request.success(函数(响应){…
这就是控制台中显示响应的方式>>
"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
指的是控制器。这方面的最佳实践是在y开头我们的控制器做了一些类似于
var vm = this;
然后,将不会与此
关键字发生冲突,您可以分配
vm.user = response.user
在您的
$http
调用中。您可以尝试创建一个JSFIDLE或plunkr来说明您的问题。您是否在分配response.user之前初始化了this.user属性?可能错误表明它找不到this.user?如果您不在函数/对象上下文中,这可能为null。请尝试var user=。。。