[转载]EXT核心API详解(八)-Ext.dat-Connection/Ajax/Record javascript

Ext.data.Connection

访问指定的url,这是个异步调用类,如果想得到服务器信息,请在request参数中指定callback方法或指定侦听者(对文件上传无效)

Connection( Object config )

构造,config定义为{

autoAbort : Boolean,

defaultHeaders : Object,

disableCaching : Boolean,

extraParams : Object,

method : String,

timeout : Number,

url : String

}

对象

方法:由 Observable继承过来的方法省略

abort( [Number transactionId] ) : void

放弃请求,如果同时有多个请求发生,参数指示请求进程序号,不指定则是放弃最后一个请求

isLoading( [Number transactionId] ) : Boolean

第transactionId个请求是否完成载入,未批定指最后一个

request( [Object options] ) : Number

最实用的当然是这个方法了,返回的正是前面的两个方法所需要的进程id

其中options定义为{

url:string, //请求url

params:Object/String/Function, //以post方法请求时传递的参数

method:string , //Get/Post

callback:Function, //回叫方法,不管是成功还是失败都会呼叫这个方法,有三个参数,由options传入的options参数,success:Boolean,成功? response:Object, 含有返回数据的XMLHttpRequest对象

success:Function, //成功时回叫,第一个参数为XMLHttpRequest对象,第二个参数传入指定的options

failure:Function, //失败时回叫,参数同success

scope:Object, //范围

form.:Object/String, //一个form对象或它的id,可以由此自动生成参数params

isUpload:Boolean, //文件上传?通常可以自动检测

headers:Object, //要自定义的请求头信息

xmlData:Object //一个xml文档对象,它将通过url附加参数的方式发起请求

disableCaching:Boolean //是否禁用缓存?默认为真

}

Ext.Ajax

由Ext.data.Connection 继承而来,方法和父类一模一样,但使用起来更简单一些,是一个全局惟一静态类

示例:

Ext.Ajax.request({

url: 'foo.php',

success: someFn,

failure: otherFn,

headers: {

'my-header': 'foo'

},

params: { foo: 'bar' }

});

Ext.Ajax.request({

form. 'some-form',

params: 'foo=bar'

});

//所有的Ext.Ajax请求都会加个这个默认的头

Ext.Ajax.defaultHeaders = {

'Powered-By': 'Ext'

};

//所有的Ext,Ajax在发起请求前都会调用showSpinner

Ext.Ajax.on('beforerequest', this.showSpinner, this);

Ext.data.Record

基本上可以理解为.net中的datarow或者sql server中的一行数据,它存放了数据的定义信息和他们的值

[公有属性]

data : Object 数据内容,一个json对象

dirty : Boolean 是否修改过

id : Object 惟一ID,默认从1000开始以1剃增

modified : Object 如果记录没有修改过,为null如果修改过则存放原始值信息

[公有方法]

Record( Array data, [Object id] )

这个构造方法并不用于创建记录对象,相反,应该使用create方法来创建record对象,参数data定义见create方法,id默认递增起始id

beginEdit() : void

开始修改

cancelEdit() : void

放弃所做的修改,参见commit

copy( [String id] ) : Record

//创建当前record的一个克隆值,如果未指定id使用当前id+1

commit( [Boolean silent] ) : void

commit方法一般会被Store对象调用而不是recorde本身,提交自创建或最后一次修改后的所有变更,如果silent为真将不会通知store对象

create( [Array o] ) : function

静态构造方法 o是config数组

其中config可以含有如下属性

{

name : String //字段名

mapping : String //用于reader时的映射关系,如果是用于jsonreader,使用相对当前记录的javascript表达式

//,如果是用于xmlreader,则是相对于记录的domquery表达式,对于ArrayReader,则是序号

type:String //可选值 auto /string/int/float/boolean/date,其中auto是默认值,不进行转换

sortType : Mixed //排序类型,Ext.data.SortTypes成员之一,参见sortTypes

sortDir : String //正序倒序 ASC/DESC值之一

convert : Function //转换函数,这个功能很有用,可自定义,接收当前value返回处理后的value

dateFormat : String //日期格式化字符串,convert:function的一个特例,使用Date.parseDate方法转换当前日期

}

endEdit() : void

结束修改

get( name {String} ) : Object

指定命名字段string的值

getChanges() : Object

返回修改记录的对象

reject( [Boolean silent] ) : void

和commit相似,当然是拒绝所做的修改

set( String name, Object value ) : void

为字段name设定新值value
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值