Ext 扩展的 Store实现同步加载

Ext 自带的 Stroe 是不支持同步 ajax 访问的
    但是 很多是否 又需要用 同步得到数据 所以 没事的 时候 扩展 一下Store 支持ajax同步

Ext.data.AjaxStore = Ext.extend(Ext.data.Store,{
    loadAjaxData:function(url,bol){
    if(bol==""||bol=="undefined"||bol==null) bol=false
    var _sUrl=url;
    if(url!=""&&url!="undefined"&&url!=null){
     _sUrl=url;
    }else if(this.url!=""&&this.url!="undefined"&&this.url!=null){
      _sUrl=this.url;
    }else if(this.proxy!=null&&this.proxy!=""&&this.proxy!="undefined"){
        if(this.proxy.url==null||this.proxy.url==""||this.proxy.url=="undefined")
        return;
        else
        _sUrl=this.proxy.url;
    }else{
       return;
    }
     this.loadData(this.getAjaxData(_sUrl),bol)
},
    getAjaxData:function(url){
    //if(url==""||url=="undefined") return {}
    //alert(url)
     var request= Ext.lib.Ajax.getConnectionObject().conn;
        request.open("GET", url, false);
     request.send(null)
     try
     {
     return Ext.util.JSON.decode(request.responseText)
     }
     catch (e)
     {
              return [];

     }
       
}

})

 

使用方法

var store=new Ext.data.AjaxStore({url:yourUrl,reader:yourReader})
    store.loadAjaxData()
或者 store.loadAjaxData(yourUrl,boolen) //boolean 是说 是不是 累加 url得到的数据 ture 累加起来 false 为 覆盖 不累加

转自http://hi.baidu.com/zhoudz_jxdy/blog/item/c8f8b7eea78e9dfdb3fb953f.html

 


 

这篇文章比较古老了,反正我是没有成功。哎,extjs提供一个循环,我一看原来是线程睡眠。

extjs 所有的提交方式都是异步的(就我知道的),要用它实现同步,还真有点囧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ExtJS 中,`store` 是一个非常重要的概念,它是用于存储数据的容器,通常用于存储从后台获取的数据或者本地静态数据。`store` 有以下几个特点: 1. `store` 可以通过 `proxy` 对象从后台获取数据,也可以通过 `data` 对象存储本地静态数据。 2. `store` 可以通过 `reader` 对象解析后台返回的数据,以便填充到 `model` 中。 3. `store` 可以通过 `writer` 对象将 `model` 中的数据保存到后台。 4. `store` 可以触发各种事件,比如 `load`、`add`、`remove`、`update` 等,方便处理数据变化时的业务逻辑。 5. `store` 可以通过 `filter`、`sorter`、`group` 等功能对数据进行过滤、排序和分组,方便数据展示和处理。 在使用 `store` 时,通常需要配置以下几个属性: 1. `model`:指定存储在 `store` 中的数据模型。 2. `proxy`:指定从后台获取数据的方式,可以是 `ajax`、`jsonp`、`rest` 等方式。 3. `reader`:指定解析后台返回数据的方式,通常与 `model` 配合使用。 4. `writer`:指定将 `model` 中的数据保存到后台的方式。 5. `fields`:指定存储在 `store` 中的数据模型的字段。 6. `listeners`:指定 `store` 的事件监听器。 7. `autoLoad`:指定是否在创建 `store` 时自动加载数据。 8. `pageSize`:指定 `store` 分页时每页显示的记录数。 当你需要在 ExtJS 中存储数据时,`store` 就是一个非常好的选择。它提供了众多功能,方便你处理数据的各种需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值