`
fastwind
  • 浏览: 323808 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Ext.data-DataProxy/HttpProxy/MemoryProxy/ScriptTag

阅读更多

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
参见HttpProxy

分享到:
评论

相关推荐

    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类**:内存数据...

    老师整理的extjs学习笔记

    `Ext.data.DataProxy` 是 `Ext.data.Store` 的一部分,负责从数据源获取数据。常见的 `DataProxy` 类型包括: - **AjaxProxy**: 通过 AJAX 调用获取数据。 - **MemoryProxy**: 从内存中读取数据。 - **RestProxy**:...

    extjs核心api详解

    这一系列章节详细介绍了如何使用Ext.data.Connection、Ext.data.Ajax进行异步数据请求,如何使用Ext.data.Record、Ext.data.DataProxy、Ext.data.DataReader和Ext.data.Store来管理和操作数据。 七、Ext.widgets...

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

    Ext与后台数据库交互

    `Ext.data.DataProxy`定义了如何从服务器获取数据,并可以针对不同的数据源实现不同的代理类,如`AjaxProxy`、`ScriptTagProxy`等。 - **Reader(数据读取器)**:`Ext.data.DataReader`定义了如何解析从服务器...

    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)的使用。...

    ali-data-proxy-lite

    proxy)修正服务端代理post 提交中文 Unexpected end of input 错误目录用例十 使用DataProxy操作Mysql数据库用例十一 使用DataProxy访问Modulet接口完整实例配置文件详解interface.json 配置http 接口配置mtop 接口...

    Extjs中文教程

    - 常见的数据代理包括`Ext.data.HttpProxy`和`Ext.data.MemoryProxy`。 - **Ext.data.DataReader类** - 用于解析服务器返回的数据,并将其转换为Extjs可以使用的格式。 - 支持多种数据格式,如JSON、XML等。 - ...

    ExtJS使用笔记

    Ext.data.Store需要与数据代理Ext.data.DataProxy配合,后者定义了从内存或网络获取数据的方式。同时,Ext.data.DataReader负责将原始数据转换为Store可以使用的形式,而Ext.data.DataWriter则负责将数据保存到...

    echarts的官方v3离线api

    对于大数据量的图表,ECharts提供了一系列的优化策略,如数据代理(dataProxy)、预处理(preprocess)以及坐标轴的计算策略等。 9. **多图表组合** ECharts可以轻松地在一个页面上组合多个图表,共享同一份数据...

    Ext+JS高级程序设计.rar

    7.3 Ext.data.Record 198 7.4 ArrayReader、JsonReader和XmlReader 199 7.4.1 JsonReader 200 7.4.2 ArrayReader 200 7.4.3 XmlReader 201 7.5 Store的加载数据 201 7.6 Store的数据操作 203 7.6.1 添加数据 203 ...

Global site tag (gtag.js) - Google Analytics