`

Ext.data-DataProxy/HttpProxy/MemoryProxy/ScriptTagProxy

阅读更多
Ext.data-DataProxy/HttpProxy/MemoryProxy/ScriptTagProxy

Ext.data.DataProxy
   数据代理类是一个纯虚类,主要用于生成Ext.data.Record对象,没有公开的属性和方法,只是归定子类需要处理三个事件
beforeload : ( Object This, Object params )
load : ( Object This, Object o, Object arg )
loadexception : ( Object This, Object o, Object arg, Object e )
事实上参数也是子类自定义的

Ext.data.HttpProxy
   api文档中说httpProxy是从object继承来的,事实上source中它和下面的Ext.data.MemoryProxy/Ext.data.ScriptTagProxy都继承于DataProxy

HttpProxy用于远程代理,而且服务端返回信息时必须指定Content-Type属性为"text/xml".
HttpProxy( Object conn )
构造一个HttpProxy对象,参数可以是一个类似于{url: 'foo.php'}这样的json对象,也可以是一个Ext.data.Connection对象,如果参数没有指定,将使用Ext.Ajax对象将被用于发起请求

getConnection() : Connection
得到当前连接对象

load( Object params, Ext.data.DataReader reader, Function callback, Object scope, Object arg ) : void
从配置的connection对象得到record数据块,并激发callback
  params:        发起http请求时所要传递到服务端的参数
  DataReader:    见DataReader
  callback:    回叫方法,第一个参数为接收到的信息,第二个参数为arg,第三个是成功标志
  scope:        范围
  arg:        这儿的参数将会传递给回叫函数callback

使用示例: var proxy=new Ext.data.HttpProxy({url:'datasource.xml'});

    //关于reader将会在Ext.data.DataReader中讲解

    var reader = new Ext.data.XmlReader({

      totalRecords: "results",

      record: "row",       

      id: "id"               

    }, [

      {name: 'name', mapping: 'name'},

      {name: 'occupation'}         

    ]);

 

    //定义回叫方法

    var metadata;

    function callback(data,arg,success){

        if(success){

            metadata=data;

        }

    }

    //从connection配置的url中利用reader将返回的xml文件转为元数据,并传递给callback

    proxy.load( null,reader,callback,this);
复制代码
Ext.data.MemoryProxy
MemoryProxy( Object data )
构造
load( Object params, Ext.data.DataReader reader, Function callback, Object scope, Object arg ) : void
取数据,和HttpProxy类似,只是params参数没有被使用

使用示例 var proxy=new Ext.data.MemoryProxy([ [1, 'Bill', 'Gardener'], [2, 'Ben', 'Horticulturalist'] ]);

var reader = new Ext.data.ArrayReader(

{id: 0},

[

{name: 'name', mapping: 1},       

{name: 'occupation', mapping: 2} 

]);



var metadata;

function callback(data,arg,success){

    metadata=data;

}

proxy.load( null,reader,callback,this);
复制代码

Ext.data.ScriptTagProxy
   这个类和HttpProxy类似,也是用于请求远程数据,但能用于跨主域调用,如果请求时使用了callback参数
则服务端应指定Content-Type属性为"text/javascript"
并返回callback(jsonobject)
反之则应置Content-Type属性为"application/x-json"
并直接返回json对象

ScriptTagProxy( Object config )
构造,其中
config定义为{
  callbackParam : String,//回叫参数
  nocache : Boolean,//是否缓存
  timeout : Number, //超时
  url : String      //请求数据的url
}

abort() : void
放弃

load( Object params, Ext.data.DataReader reader, Function callback, Object scope, Object arg ) : void

来源:9iext.cn
原文地址:http://www.9iext.cn/thread-26-1-1.html
分享到:
评论

相关推荐

    EXT核心API详解

    27、Ext.data.DataProxy类 …………… 24 28、Ext.data.HttpProxy类 …………… 24 29、Ext.data.MemoryProxy类 ……… 25 30、Ext.data.ScriptTagProxy类 ………… 25 31、Ext.data.DataReader类 ……………26 32、...

    extjs学习资源

    - **数据代理**: `DataProxy`、`HttpProxy`、`MemoryProxy`和`ScriptTagProxy`用于从不同来源加载数据。 - **数据读取器**: `DataReader`、`ArrayReader`、`JsonReader`和`XmlReader`用于解析不同格式的数据源。 ...

    ExtJS入门教程(超级详细)

    27、Ext.data.DataProxy类 …………… 24 28、Ext.data.HttpProxy类 …………… 24 29、Ext.data.MemoryProxy类 ……… 25 30、Ext.data.ScriptTagProxy类 ………… 25 31、Ext.data.DataReader类 ……………26 32、...

    EXT核心API详解.doc

    24. **Ext.data.DataProxy类**:数据代理,抽象了数据源,包括HttpProxy、MemoryProxy等。 25. **Ext.data.HttpProxy类**:HTTP数据代理,通过HTTP请求获取远程数据。 26. **Ext.data.MemoryProxy类**:内存数据...

    精通JS脚本之ExtJS框架.part1.rar

    13.5.3 Ext.data.HttpProxy 13.5.4 Ext.data.ScriptTagProxy 13.6 数据读取器 13.6.1 Ext.data.DataReader 13.6.2 Ext.data.ArrayReader 13.6.3 Ext.data.JsonReader 13.6.4 Ext.data.XmlReader 13.7 Ext.ux....

    精通JS脚本之ExtJS框架.part2.rar

    13.5.3 Ext.data.HttpProxy 13.5.4 Ext.data.ScriptTagProxy 13.6 数据读取器 13.6.1 Ext.data.DataReader 13.6.2 Ext.data.ArrayReader 13.6.3 Ext.data.JsonReader 13.6.4 Ext.data.XmlReader 13.7 Ext.ux....

    EXTJS___API详解

    **Ext.Ajax, DataProxy, HttpProxy, MemoryProxy, ScriptTagProxy 类**:这些类涉及EXTJS的数据层,处理不同类型的远程数据源。 26-28. **DataReader, ArrayReader, JsonReader, XmlReader 类**:数据读取器,用于...

    extjs核心api详解.doc

    这部分讲解了数据连接(Connection/Ajax)、数据代理(DataProxy,如HttpProxy、MemoryProxy、ScriptTagProxy)、数据读取器(DataReader,如ArrayReader、JsonReader、XmlReader)以及数据存储(Store)的使用。...

    etjs核心api详解免费范文精选.docx

    在EXT JS中,`Ext.data`是数据处理的关键模块,它包含了数据的读取、存储和代理。以下是这个模块的一些重要组件和概念: 1. **DataProxy**: 数据代理是EXT JS中数据层的重要组成部分,它负责与服务器端进行数据交互...

Global site tag (gtag.js) - Google Analytics