`

EXT核心API详解(九)-Ext.data-DataProxy/HttpProxy/MemoryProxy/ScriptTagProxy javascript

    博客分类:
  • EXT
阅读更多
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

放弃
分享到:
评论

相关推荐

    EXT核心API详解

    EXT核心API详解 1、Ext类 ………………………………… 2 2、Array类 …………………………… 4 3、Number类 …………………………… 4 4、String类 …………………………… 4 5、Date类 ……………………………… 5 ...

    EXT核心API详解.doc

    EXT核心API详解主要涵盖了一系列与EXT.js库相关的类和对象,EXT.js是一个强大的JavaScript UI框架,用于构建富客户端Web应用程序。以下是对各个类的详细解释: 1. **Ext类**:EXT库的基础类,提供了许多实用的方法...

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

    文档标题和描述中提到的"etjs核心API详解"很可能是指EXT JS,这是一个基于JavaScript的富客户端应用开发框架,主要用于构建桌面级Web应用程序。EXT JS提供了丰富的组件库和数据管理功能,其核心API是框架的核心部分...

    extjs核心api详解.doc

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

    EXTJS___API详解

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

    extjs学习资源

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

    精通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....

    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、...

    精通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....

Global site tag (gtag.js) - Google Analytics