foreach循环是否直接与JSonStore数据对象存储一起工作?

时间:2012-08-20 23:35:36

标签: dojo jsonstore

我创建了一个带有JSON格式的对象数组的JSonStore。 我已经验证它格式正确。

然后我尝试在其上使用dojo forEach循环,但JSonStore似乎没有任何数据。我可以在我的网页URL中指定目标,并显示正确的数据。但是使用console.log(myJsonStore)显示了一个对象,但我没有看到Firebug中的数据。我也没有看到提供数据的服务有任何GET。这就像在浏览器中指定URL中的目标路径来激发GET,但是当我尝试在foreach所在的postCreate中触发它时,不会这样做。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

var storeObj = new JsonRest({
    target: "/some/resource"
});
storeObj.query({}).forEach(function(obj){console.log(obj);});

应该做的伎俩

答案 1 :(得分:1)

里卡多的回答,我相信有点不正确,因为JsonRest.query函数返回一个dojo.Deferred。

你通过商店读取api异步进行REST调用 - 一旦它返回值,它将承诺运行什么设置为回调。

尝试使用循环迭代器

storeObj.query( {} ).then(function ( results ) {
  dojo.forEach( results, function( obj ) {
    console.log( obj );
  });
}