Ext.data专题二:Ext.data.Connection

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处理,Ext.data.Connection的使用方式如代码清单:

var conn = new Ext.data.Connection({ autoAbort: false, defaultHeaders: { referer: 'http://localhost:8080/' }, disableCaching : false, extraParams : { name: 'name' }, method : 'GET', timeout : 300, url : '01-01.txt' });

在使用Ext.data.Connection之前,都要像上面这样创建一个新的Ext.Connection实例。

我们可以在构造方法里配置对应的参数,比如autoAbort表示链接是否会自动断开、default- Headers参数表示请求的默认首部信息、disableCaching参数表示请求是否会禁用缓存、extraParams参数代表请求的额外参数、method参数表示请求方法、timeout参数表示连接的超时时间、url参数表示请求访问的网址等。

在创建了conn之后,可以调用request()函数发送请求,处理返回的结果,如下面的代码所示:

conn.request({ success: function(response) { Ext.Msg.alert('info', response.responseText); }, failure: function() { Ext.Msg.alert('warn', 'failure'); }

Request()函数中可以设置success和failure两个回调函数,分别在请求成功和请求失败时调用。请求成功时,success函数的参数就是后台返回的信息。

我们再来看一下request函数中的其他参数。

  • url:String:请求url。
  • params:Object/String/Function:请求传递的参数。
  • method:String:请求方法,通常为GET或POST。
  • callback:Function:请求完成后的回调函数,无论是成功还是失败,都会执行。
  • success:Function:请求成功时的回调函数。
  • failure:Function:请求失败时的回调函数
  • scope:Object:回调函数的作用域。
  • form:Object/String:绑定的form表单。
  • isUpload:Boolean:是否执行文件上传。
  • headers:Object:请求首部信息。
  • xmlData:Object:XML文档对象,可以通过URL附加参数的方式发起请求。
  • disableCaching:Boolean:是否禁用缓存,默认为禁用。

Ext.data.Connection还提供了abort([Number transactionId])函数,当同时有多个请求发生时,根据指定的事务id放弃其中的某一个请求。

如果不指定事务id,就会放弃最后一个请求。

isLoading([Number transactionId])函数的用法与abort()类似,可以根据事务id判断对应的请求是否完成。

如果未指定事务id,就判断最后一个请求是否完成。

 

转自:http://www.17ext.com/web/a/Ext-DataStore/Extdata-zhuantier-ExtdataConnection/

你可能感兴趣的:(Ext.data专题二:Ext.data.Connection)