我最近通过继承3.4中编写的网络应用程序深入了解了ExtJS。我设法创建了一个连接到网格的商店,没有任何问题,并且能够调出一个PanelForm,其中包含从调用php页面加载的数据。
我定义了另一个json商店,当我调用它的加载程序并且我想知道我缺少什么时,它不会被填充。
商店的定义如下:
var ImgStore = new Ext.data.JsonStore({
totalProperty: 'total'
,root: 'data'
,url : 'json/getProductImage/'
,fields : [{
name : 'img'
},{
name : 'extn'
}]
});
我加载数据的代码是:
ImgStore.load({callback: function() {}
,params: {'ProductGUID': x}
});
网址背后的代码很好,下面是Firebug中的响应:
{"success":true,"data":{"img":"iVBORw0KG...ggg==","extn":"png"}}
我无法理解的是为什么响应会回来,但商店没有填充。我肯定错过了什么;我无法看到......
商店是否必须绑定到另一个对象?我想要做的是回读base64编码的字符串,然后在屏幕上显示图像(在面板,FormPanel或Container上;真的不确定最好的方法)
非常接受任何建议。
答案 0 :(得分:0)
您的商店需要一个型号。模型需要反映JSON提要中返回的属性。只有这样,数据才会显示在您的商店中。
答案 1 :(得分:0)
一切看起来都不错,除了url配置不是你错过了文件名吗? 'json/getProductImage/myfile.json'
?
如何通过将商店绑定到网格来加载商店?因为如果是这样,商店可能正在加载但没有正确配置网格可能会让你觉得商店没有加载,试试console.log(store.getTotalCount())