我使用$ http获取用户集合。来自服务器的原始响应是这样的......用于数组对象的角度JSON过滤器
[{"id":2,"name":"John Doe","email":"[email protected]"}]
在登录成功回调数据参数显示此...
[Object, each: function, eachSlice: function, all: function, any: function, collect: function…]
0: Object
$$hashKey: "004"
email: "[email protected]"
id: 2
name: "John Doe"
__proto__: Object
length: 1
__proto__: Array[0]
不够好。看起来像$ http已经将原始JSON解序列化为一个JavaScript对象。
接下来,我将数据分配到$范围变量,成功回调内,为了执行在浏览器中的一些调试...
现在$scope.debug = data;
,在我看来,我想显示这作为漂亮的JSON来调试。
<pre>{{debug | json}}</pre>
而且我得到这个...
"[{\"id\": 2, \"name\": \"John Doe\", \"email\": \"[email protected]\", \"$$hashKey\": \"004\"}]"
我试图让这样的事情...
[
{
"id": 2,
"name": "John Doe",
"email": "[email protected]",
"$$hashKey": "004"
}
]
我也试图字符串化在控制器中的JavaScript数组...
$scope.debug = JSON.stringify(data, true);
而不是使用t他过滤...
<pre>{{debug}}</pre>
,但我得到了相同的结果,除了$$ hashKey已被删除...
"[{\"id\": 2, \"name\": \"John Doe\", \"email\": \"[email protected]\"}]"
如果我只是数组$范围在分配中的第一项,并使用JSON过滤器,它工作正常...
$scope.debug = data[0];
在我看来......
<pre>{{debug | json}}</pre>
个
结果...
{
"id": 2,
"name": "John Doe",
"email": "[email protected]"
}
我知道有其他的方法来得到我想要的东西。我只是想明白发生了什么。
谢谢!
你为什么不只是使用控制台? O.o – thescientist
谢谢。我正在使用控制台,而且工作正常。但是,我想深入了解问题的根源,而不仅仅是解决问题。我想明白为什么它不像我所期望的那样工作。要么它工作正常,我误解它应该如何工作,或者我正确理解应该如何工作,但是我做得有点错误,或者我理解它应该如何工作,并且正确地做到了这一点,但是在过滤器代码中存在一些错误。只是想学习。 – Kevin