Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 angular js,我无法访问$http请求响应_Javascript_Angularjs - Fatal编程技术网

Javascript angular js,我无法访问$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-

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