1.Ext.data
在命名空间定义了一系列store,reader,和proxy
grid和comboBox都是以Ext.data为媒介获取数据的,它包含了异步加载,类型转换,分页等功能
Ext.data默认支持Array,JSON,XML等数据格式,可以通过Memory,HTTP,ScriptTag等方式获得这些格式的数据.
如果实现新的协议和新的数据结构,只需要扩展reader和proxy即可,
DWRProxy实现了自身的proxy和reader,让Ext可以直接从DWR获取数据
2.Ext.data.Connection
Ext.data.Connection是对Ext.lib.Ajax的封装,它提供了配置使用Ajax的通用方式,在内部通过Ext.lib.Ajax实现后台的异步调用,
与Ext.lib.Ajax相比,Ext.data.Connection使用起来更加方便,
Ext.data.Connection主要用于Ext.data.HttpProxy和Ext.data.ScriptTagProxy中执行后台交互任务,它从指定的URL获取数据,并把后台返回的数据交给HttpProxy或者ScriptTagProxy处理
代码
<script type="text/javascript">
Ext.onReady(function(){
//创建connection实例
var conn = new Ext.data.Connection({
//表示连接是否会自动断开
autoAbort: false,
//参数表示请求的默认首部信息
defaultHeaders: {
//referer: 'http://localhost:8080/'
},
disableCaching : false,
//表示请求的额外参数
extraParams : {
name: 'name'
},
method : 'GET',
//超时时间
timeout : 300,
url : 'list.txt'
});
//调用request()函数发送请求,处理返回结果
conn.request({
/*
url : String 访问路径
params : Object/String/Funciton
method : String 请求方法
callback : Function 请求完成后的回调函数,无论是成功还是失败都会执行
success : Function 请求成功后返回的回调函数
failure : Function 请求失败后返回的回调函数
scope : Object 回调函数的作用域
form : Object/String 绑定的表单
isUpload : Boolean 是否执行上传文件
headers : Object 请求首部信息
xmlData : Object XML文档对象,可以通过URL附加参数的方式发起请求
disableCaching : Boolean 是否禁用缓存,默认禁用
*/
success: function(response) {
Ext.Msg.alert('info', response.responseText);
},
failure: function() {
Ext.Msg.alert('warn', 'failure');
}
});
});
</script>
函数
abort([Number transactionId])函数,当同时有多个请求发生时,根据指定的事物id放弃其中的某一个请求.如果不指定事务id,就会放弃最后一个请求
isLoad([Number transactionId])函数,可以根据事务id判断对应的请求是否完成,如果未指定事务id就判断最后一个是否完成