Ext.data.DataProxy
數(shù)據(jù)代理類是一個純虛類,主要用于生成Ext.data.Record對象,沒有公開的屬性和方法,只是歸定子類需要處理三個事件
beforeload : ( Object This, Object params )
load : ( Object This, Object o, Object arg )
loadexception : ( Object This, Object o, Object arg, Object e )
事實上參數(shù)也是子類自定義的
Ext.data.HttpProxy
api文檔中說httpProxy是從object繼承來的,事實上source中它和下面的Ext.data.MemoryProxy/Ext.data.ScriptTagProxy都繼承于DataProxy
HttpProxy用于遠程代理,而且服務端返回信息時必須指定Content-Type屬性為"text/xml".
HttpProxy( Object conn )
構(gòu)造一個HttpProxy對象,參數(shù)可以是一個類似于{url: 'foo.php'}這樣的json對象,也可以是一個Ext.data.Connection對象,如果參數(shù)沒有指定,將使用Ext.Ajax對象將被用于發(fā)起請求
getConnection() : Connection
得到當前連接對象
load( Object params, Ext.data.DataReader reader, Function callback, Object scope, Object arg ) : void
從配置的connection對象得到record數(shù)據(jù)塊,并激發(fā)callback
params: 發(fā)起http請求時所要傳遞到服務端的參數(shù)
DataReader: 見DataReader
callback: 回叫方法,第一個參數(shù)為接收到的信息,第二個參數(shù)為arg,第三個是成功標志
scope: 范圍
arg: 這兒的參數(shù)將會傳遞給回叫函數(shù)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文件轉(zhuǎn)為元數(shù)據(jù),并傳遞給callback
proxy.load( null,reader,callback,this);
Ext.data.MemoryProxy
MemoryProxy( Object data )
構(gòu)造
load( Object params, Ext.data.DataReader reader, Function callback, Object scope, Object arg ) : void
取數(shù)據(jù),和HttpProxy類似,只是params參數(shù)沒有被使用
使用示例
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類似,也是用于請求遠程數(shù)據(jù),但能用于跨主域調(diào)用,如果請求時使用了callback參數(shù)
則服務端應指定Content-Type屬性為"text/javascript"
并返回callback(jsonobject)
反之則應置Content-Type屬性為"application/x-json"
并直接返回json對象
ScriptTagProxy( Object config )
構(gòu)造,其中
config定義為{
callbackParam : String, //回叫參數(shù)
nocache : Boolean, //是否緩存
timeout : Number, //超時
url : String //請求數(shù)據(jù)的url
}
abort() : void
放棄
ExtJS教程- Hibernate教程-Struts2 教程-Lucene教程
數(shù)據(jù)代理類是一個純虛類,主要用于生成Ext.data.Record對象,沒有公開的屬性和方法,只是歸定子類需要處理三個事件
beforeload : ( Object This, Object params )
load : ( Object This, Object o, Object arg )
loadexception : ( Object This, Object o, Object arg, Object e )
事實上參數(shù)也是子類自定義的
Ext.data.HttpProxy
api文檔中說httpProxy是從object繼承來的,事實上source中它和下面的Ext.data.MemoryProxy/Ext.data.ScriptTagProxy都繼承于DataProxy
HttpProxy用于遠程代理,而且服務端返回信息時必須指定Content-Type屬性為"text/xml".
HttpProxy( Object conn )
構(gòu)造一個HttpProxy對象,參數(shù)可以是一個類似于{url: 'foo.php'}這樣的json對象,也可以是一個Ext.data.Connection對象,如果參數(shù)沒有指定,將使用Ext.Ajax對象將被用于發(fā)起請求
getConnection() : Connection
得到當前連接對象
load( Object params, Ext.data.DataReader reader, Function callback, Object scope, Object arg ) : void
從配置的connection對象得到record數(shù)據(jù)塊,并激發(fā)callback
params: 發(fā)起http請求時所要傳遞到服務端的參數(shù)
DataReader: 見DataReader
callback: 回叫方法,第一個參數(shù)為接收到的信息,第二個參數(shù)為arg,第三個是成功標志
scope: 范圍
arg: 這兒的參數(shù)將會傳遞給回叫函數(shù)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文件轉(zhuǎn)為元數(shù)據(jù),并傳遞給callback
proxy.load( null,reader,callback,this);
Ext.data.MemoryProxy
MemoryProxy( Object data )
構(gòu)造
load( Object params, Ext.data.DataReader reader, Function callback, Object scope, Object arg ) : void
取數(shù)據(jù),和HttpProxy類似,只是params參數(shù)沒有被使用
使用示例
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類似,也是用于請求遠程數(shù)據(jù),但能用于跨主域調(diào)用,如果請求時使用了callback參數(shù)
則服務端應指定Content-Type屬性為"text/javascript"
并返回callback(jsonobject)
反之則應置Content-Type屬性為"application/x-json"
并直接返回json對象
ScriptTagProxy( Object config )
構(gòu)造,其中
config定義為{
callbackParam : String, //回叫參數(shù)
nocache : Boolean, //是否緩存
timeout : Number, //超時
url : String //請求數(shù)據(jù)的url
}
abort() : void
放棄
ExtJS教程- Hibernate教程-Struts2 教程-Lucene教程