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

[转载]Ext.data - Connection/Ajax/Record

阅读更多
[转载]Ext.data- Connection/Ajax/Record
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
分享到:
评论

相关推荐

    ext核心api详解(3)

    在EXTJS应用中,`Ext.data.Connection`和`Ext.Ajax`用于与服务器进行数据交互,而`Ext.data.Record`则作为数据操作的基础单元。这些API的熟练掌握对于构建复杂的EXTJS应用程序至关重要,它们提供了丰富的功能,包括...

    EXT核心API详解

    25、Ext.Ajax类 ………………………… 22 26、Ext.data.Record类 ………………… 23 27、Ext.data.DataProxy类 …………… 24 28、Ext.data.HttpProxy类 …………… 24 29、Ext.data.MemoryProxy类 ……… 25 30、...

    extjs帮助文档pdf版

    - `Ext.data.Record.load(data, id)`: 加载数据到模型实例。 #### 27. Ext.data.DataProxy 类 (P.24) - **概述**:作为数据源的抽象接口。 - **常用方法**: - `Ext.data.DataProxy.load(callback, scope)`: 加载...

    extjs学习资源

    - **连接**: `Ext.data.Connection`和`Ext.data.Ajax`用于发起HTTP请求获取数据。 - **记录模型**: `Ext.data.Record`定义了数据模型的结构。 - **数据代理**: `DataProxy`、`HttpProxy`、`MemoryProxy`和`...

    extjs帮助文档

    - `new Ext.data.Record(data)`:创建一个新的记录实例。 - `Ext.data.Record.set(key, value)`:设置字段值。 #### 二十七、Ext.data.DataProxy类(第24页) - **概述**:Ext.data.DataProxy类提供了一个抽象层...

    extjs数据存储与传输详解

    **Ext.data.Connection**是对**Ext.lib.Ajax**的一个封装,它简化了使用Ajax的方式,使开发人员能够更加便捷地进行前后端数据交互。**Ext.data.Connection**的主要作用是在Ext.data.HttpProxy和Ext.data....

    ExtJS入门教程(超级详细)

    25、Ext.Ajax类 ………………………… 22 26、Ext.data.Record类 ………………… 23 27、Ext.data.DataProxy类 …………… 24 28、Ext.data.HttpProxy类 …………… 24 29、Ext.data.MemoryProxy类 ……… 25 30、...

    EXT核心API详解.doc

    22. **Ext.data.Connection类**和**Ajax类**:提供了与服务器的数据交换功能,支持异步请求。 23. **Ext.data.Record类**:数据记录模型,用于存储和操作数据。 24. **Ext.data.DataProxy类**:数据代理,抽象了...

    extjs核心api详解

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

    Ext深入浅出 数据传输

    10.2 Ext.data.Connection....................230 10.3 Ext.data.Record .............................232 10.4 Ext.data.Store ...............................233 10.4.1 基本应用...............................

    Extjs深入浅出pdf

    2. **Ext.data.Connection**:这是EXTJS 中用于处理AJAX 请求的类,它允许你发送HTTP 请求到服务器,并接收返回的数据。你可以配置请求参数,如URL、方法(GET或POST)、请求头和回调函数。 3. **Ext.data.Record**...

Global site tag (gtag.js) - Google Analytics