`
kuru
  • 浏览: 137176 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转载]Ext.data-DataProxy/HttpProxy/MemoryProxy/Scrip

阅读更多
[转载]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
参见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入门教程(超级详细)

    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框架.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....

    ali-data-proxy-lite

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

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

    轻松搞定Extjs_原创

    二、Ext.data.DataProxy类 57 三、Ext.data.DataReader类 58 四、Ext.data.Store类 59 五、下拉列表框 60 六、得到下拉列表框的值 62 七、源代码 63 八、小结 64 第十一章:Ajax与ComboBox 65 一、Ajax 65 二、Ext....

    ExtJs 实现动态加载grid完整示例

    Ext3.3完整包 Ext3.3中文文档 数据表的结构是:数据表table > 记录record > 字段 store的结构是: Ext.data.Store > Ext.data.Record>Ext.dataDataField store 首先驱动 DataProxy 加载数据 ,DataProxy加载完成会...

    在线代理程序下载(PHP)

    /Proxy/ 目录为HTTP代理 语言为英文。 index.php 首页 DataProxy.php 代理服务器设置文件一行一个。 ip.php 由IP地址查询访问者来路。 Proxy.php 代理访问转向页。 favicon.ico ico文件请按需修改。 Proxy.html 免费...

    Ext数据模型Store

    Ext数据模型Store DataProxy Record DataReader

    fastCSharp

    public partial class favorite : diantou.dataModel.favorite.showjimCode.proxy, showjim.sys.setup.Copy { [showjim.setup.attribute.tcpCall] private static favorite[] GetUser(int id, int pageSize, int...

    DataProxy

    该软件用于解决同种或异种数据库(包括Oracle、SQl Sever 、DB2、Sybase等)之间的数据同步/集成。实现数据库、XML、EDI、文本等不同数据格式的转换。单独使用时可实现局域网内据库之间的同步/集成,亦可与数据总线...

    log4Net详解(共2讲)

    Extjs在经过两年的发展,Ext JS从2.0版开始,越来越受用户欢迎,今年,Extjs不但推出3.0版本,而且还推出了Ext Core,准备在Web2.0网站开发中占一席之地,如在 Extjs2.x版本中为人所诟病的速度问题在ExtJs3.0中有所...

    dataproxy:Web 应用程序(针对 appengine)将某些数据类型的数据代理为 JSON-P 数据类型,以便用户可以针对远程数据集创建混搭

    数据代理CKAN 用户注意:DataProxy 没有被积极维护。 为表格数据和强大的可视化寻找结构化 API 的用户应该使用 CKAN Data Proxy 是一种用于将数据资源转换为 json 等结构化形式的 Web 服务。 支持的资源/文件类型( ...

    edge_case:edge.js问题的示例代码

    edge_case edge.js问题的示例代码克隆并运行nnpm install >节点io.js调用代理并获取数据>节点ex.js来运行一个快速路由,该路由调用代理并获取数据从更改proxy / DataProxy.cs public async Task < object > ...

    数据代理DataProxy

    该软件用于解决同种或异种数据库(包括Oracle、SQl Sever 、DB2、Sybase等)之间的数据同步/集成。实现数据库、XML、EDI、文本等不同数据格式的转换。单独使用时可实现局域网内据库之间的同步/集成,亦可与数据总线...

    ExtJs2.0简明教程

    ……..48 7.3 DataProxy与自定义Store……….……………………………………………………………………………..…….50 第八章 使用树控件TreePanel……….………………………………………………………………...

    dataproxy:DataProxy首次提交

    数据代理提供简单方法的库使用通用接口在远程应用程序(例如磨损和电话应用程序,流程等)之间进行通信。用法使用void方法创建一个通用接口。 public interface TestInterface { void onTestNoParameters ();...

Global site tag (gtag.js) - Google Analytics