在Ext的JsonStore的load方法中使用回调callback(转)
2012-03-18 13:15
344 查看
Ajax的异步请求有时候会带来一些问题,如在Ext做的页面中,需要加载一个JsonStore数据集,在紧跟着的代码中可能就会对数据集进行访问的操作,由于异步请求很可能导致数据未加载完就开始访问,结果可能会不是想要的结果。这里load方法中提供了一个callback回调函数,可以解决延迟加载的问题,我们需要处理的一部分代码可以放在callback函数中处理,这样就解决了异步请求带来的问题。如: Js代码
1.var collectIndex_ds = new Ext.data.JsonStore({
2. url: '',
3. root: 'collectIndexs',
4. id: 'id',
5. fields:[
6. {name:'id'},
7. {name:'userViewId'},
8. {name:'timeType'},
9. {name:'measureUnitId'}
10. ]
11. });
var collectIndex_ds = new Ext.data.JsonStore({
url: '',
root: 'collectIndexs',
id: 'id',
fields:[
{name:'id'},
{name:'userViewId'},
{name:'timeType'},
{name:'measureUnitId'}
]
});
其回调函数使用为 Java代码
1.//使用回调方法,可以解决延迟加载的问题;这里使用回调时为了把userViewId项为空的加上默认值1
2. collectIndex_ds.load({
3. callback :function(r,options,success){
4. if(success){
5. for(var i=0;i<r.length;i++){
6. var record = r[i];
7. var v = record.data.userViewId;
8. if(v==null || v==""){
9. record.set("userViewId",1);
10. }
11. }
12. }
13. }
14. });
//使用回调方法,可以解决延迟加载的问题;这里使用回调时为了把userViewId项为空的加上默认值1
collectIndex_ds.load({
callback :function(r,options,success){
if(success){
for(var i=0;i<r.length;i++){
var record = r[i];
var v = record.data.userViewId;
if(v==null || v==""){
record.set("userViewId",1);
}
}
}
}
});
Ext官网关于callback的解释 引用
callback : Function A function to be called after the Records have been loaded. The callback is called after the load event and is passed the following arguments: * r : Ext.data.Record[]
* options: Options object from the load call
* success: Boolean success indicator 因为回调都用的是异步技术,我们还可以直接采用同步处理,掉用的代码如下 unction syncCall(url, params) {
var obj;
var value;
if (window.ActiveXObject) {
obj = new ActiveXObject('Microsoft.XMLHTTP');
} else if (window.XMLHttpRequest) {
obj = new XMLHttpRequest();
}
obj.open('POST', url, false);
obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
obj.send(params);
var result = Ext.JSON.decode(obj.responseText);
return result;
}
1.var collectIndex_ds = new Ext.data.JsonStore({
2. url: '',
3. root: 'collectIndexs',
4. id: 'id',
5. fields:[
6. {name:'id'},
7. {name:'userViewId'},
8. {name:'timeType'},
9. {name:'measureUnitId'}
10. ]
11. });
var collectIndex_ds = new Ext.data.JsonStore({
url: '',
root: 'collectIndexs',
id: 'id',
fields:[
{name:'id'},
{name:'userViewId'},
{name:'timeType'},
{name:'measureUnitId'}
]
});
其回调函数使用为 Java代码
1.//使用回调方法,可以解决延迟加载的问题;这里使用回调时为了把userViewId项为空的加上默认值1
2. collectIndex_ds.load({
3. callback :function(r,options,success){
4. if(success){
5. for(var i=0;i<r.length;i++){
6. var record = r[i];
7. var v = record.data.userViewId;
8. if(v==null || v==""){
9. record.set("userViewId",1);
10. }
11. }
12. }
13. }
14. });
//使用回调方法,可以解决延迟加载的问题;这里使用回调时为了把userViewId项为空的加上默认值1
collectIndex_ds.load({
callback :function(r,options,success){
if(success){
for(var i=0;i<r.length;i++){
var record = r[i];
var v = record.data.userViewId;
if(v==null || v==""){
record.set("userViewId",1);
}
}
}
}
});
Ext官网关于callback的解释 引用
callback : Function A function to be called after the Records have been loaded. The callback is called after the load event and is passed the following arguments: * r : Ext.data.Record[]
* options: Options object from the load call
* success: Boolean success indicator 因为回调都用的是异步技术,我们还可以直接采用同步处理,掉用的代码如下 unction syncCall(url, params) {
var obj;
var value;
if (window.ActiveXObject) {
obj = new ActiveXObject('Microsoft.XMLHTTP');
} else if (window.XMLHttpRequest) {
obj = new XMLHttpRequest();
}
obj.open('POST', url, false);
obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
obj.send(params);
var result = Ext.JSON.decode(obj.responseText);
return result;
}
相关文章推荐
- 在Ext的JsonStore的load方法中使用回调callback 修改treeStore 数据
- Ext.data.JsonStore使用HttpProxy加载数据时传递参数的两种方法
- C++中回调(CallBack)的使用方法
- Ext.data.SimpleStore的使用方法
- C++中回调(CallBack)的使用方法
- 使用 ICallbackEventHandler aspx页面中的DropDownList 的 SelectValue 出现中文导致不回调方法的问题
- C++中回调(CallBack)的使用方法
- ExtJs开发教程_001_Ext.data.Store使用方法详解
- Ext.store.load callback
- C++中回调(CallBack)的使用方法
- ExtJs开发教程_001_Ext.data.Store使用方法详解
- 使用前端使用jQuery获取 在apsx页面的page_load方法直接返回json数据
- C++中回调(CallBack)的使用方法
- 用jquery使用ajax方法怎么用callback(date)方法获取值?date如何获取各种各样的json值
- hibernate使用HibernateCallback 回调的方法查询SQL时could not execute query--作怪的别名
- JavaScript中预加载图片及callback回调方法的使用。
- json.load(f)方法使用*.json备忘
- Android 接口函数回调(callback)的基础使用方法与理解【回调】的具体实现
- extjs JSONStore的load事件/insert,add方法应用 如何动态改变显示数据
- extjs JSONStore的load事件/insert,add方法应用 如何动态改变显示数据