我有以下代码,但它无效。 callback
永远不会触发,负载监听器也是如此。
var someDS = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({url : 'someUrl', method : 'GET'}),
reader: new Ext.data.JsonReader({} ['aaa', 'bbb', 'ccc']),
callback : function(options, success, response) {
alert(response);
// some code
},
listeners: {
load : function() {
alert("load");
// some code
}
}
});
答案 0 :(得分:4)
你的读者定义对我来说看起来不正确:是“{} ['aaa','bbb','ccc']”有点不错?
无论如何,这段代码适用于extjs 3.2:
var mystore = new Ext.data.Store({
url: '/your/url/',
autoLoad: true,
reader: new Ext.data.JsonReader({
root: 'rows',
fields: [ 'id', 'field1', 'field2' ]
}),
listeners: {
load: function(t, records, options) {
console.log('test ok');
for (var i=0; i<records.length; i++) {
console.log(String.format('record {0} = {1}', i, records[i].data.id));
}
}
}
});
它与'/ your / url /'服务器调用返回的以下json字符串一起使用:
{
"rows": [
{
"id": 17,
"field1": "Emiliano",
"field2": 1
},
{
"id": 18,
"field1": "Luca",
"field2": 3
}
],
"total": 2
}
不要混淆加载方法和 加载事件;
不要忘记'root'参数 读者定义(实际上是 没有必要进行'测试 好的'字符串打印,但没有它 你不会得到的印刷品 for loop)