代码的一部分:
来自服务部分:
$resource('/Serializer/community/V1/latestPost/:start/:end,{
},{
query: {method:'GET',
params:{start:new Date().getTime(), end:1},
isArray:true}
})
来自控制器部分:
Post['latestPost_timestamp'].query({start: minTime,end:1},function (data) {
alert(JSON.stringify(data));
});
结果:
从浏览器上打开的控制台或链接: [3993,3983,3974,3964,3954,3944,3934,3926,3920,3910]
来自控制器: [{},{},{},{},{},{},{},{},{},{}]
为什么它在控制器中返回空{}? 我希望它能在[3993,3983,3974,3964,3954,3944,3934,3926,3920,3910]中返回,但不是 [{},{},{},{},{},{},{},{},{},{}]。
有人可以帮忙吗?感谢
答案 0 :(得分:1)
那是因为$ resource应该是一个对象而不是一个原语,就像你的情况中的数字一样。如果一个资源可能是一个原始资源,那么你可能会遇到这样做的问题:
var posts = Post.query({start: minTime,end:1}, function() {
for (var i = 0; i < posts.length; i++) {
var post = posts[i];
// If post here should be equal to for example 3993 in
// your JSON, you wouldn't be able to call any methods
// on it. The following two statements sort if illustrates it:
assert(post === 3993);
post.$save();
}
});
资源就是一个对象,因此您应该更改服务器代码以返回[{id: 3993}, {id: 3983}, ...]
之类的内容,以便您可以post.id
访问该ID。