您的位置:首页 > Web前端 > JavaScript

extJs 2.1学习笔记(Ext.Updater篇二)

2008-07-16 20:36 495 查看
全  称:Ext.Updater

命名空间:Ext

定义 于:UpdateManager.js

类  名:Updater

父  类:Observable


为Element对象提供Ajax式的更新能力。Updater能用于更新Element一次或者使用startAutoRefresh让Element具备定时更新的能力。

用法:

//从一个Ext.Element对象获得Updater的引用

var el = Ext.get("foo");

var mgr = el.getUpdater();

mgr.update({

url: "http://myserver.com/index.php",

params: {

  param1: "foo",

  param2: "bar"

}

});

...

mgr.formUpdate("myFormId", "http://myserver.com/index.php");

//或者直接通过Updater构造函数来创建

var mgr = new Ext.Updater("myElementId");

mgr.startAutoRefresh(60, "http://myserver.com/index.php");

mgr.on("update", myFcnNeedsToKnow);

//从element对象的简捷调用方式

Ext.get("foo").load({

url: "bar.php",

scripts: true,

params: "param1=foo¶m2=bar",

text: "Loading Foo..."

});

总结上一面共计有四种更新方法:

updater.update({……});

updater.formUpdate(formname,url);

updater.startAutoRefresh(second,url);

Element.load({……});

公共属性:

defaultUrl : String

保存updater上一次更新时使用的url。

disableCaching : Boolean

是否在url后面上一个唯一标志的参数(当前时间,见Ext.data.Connection),默认值为:Ext.Updater.defaults.disableCaching.

el : Ext.Element

updater使用的element。

formUpdateDelegate : Function

相当于dotnet中的delegate。在别的地方定义,到这儿来调用。回调啦。内部使用方法如下:myUpdater.formUpdateDelegate.createCallback(arg1, arg2)

indicatorText : String

指示器文本(正在加载的时候),默认值为:Ext.Updater.defaults.indicatorText。

loadScripts : Boolean

输出的时候是不是加过脚本(?),默认值为:Ext.Updater.defaults.loadScripts。

refreshDelegate : Function

用于refresh()内的委托,scope使用this。内部使用方法如下:myUpdater.refreshDelegate.createCallback(arg1, arg2)。

renderer : Object

Updater的呈现器(默认值为:Ext.Updater.BasicRenderer)

showLoadIndicator : String

是否在加载过程中显示指示器文本,默认值为:Ext.Updater.defaults.showLoadIndicator。文档有误,应当是boolean类型。

sslBlankUrl : String

空页面url,用于SSL文件上传。默认值为:Ext.Updater.defaults.sslBlankUrl。

timeout : Number

请求超时。单位是秒。默认值为:Ext.Updater.defaults.timeout。

transaction : Object

当前事务对象,如果没有当前事务则为null。

updateDelegate : Function

用于更新(update())的委托。内部使用方式为:myUpdater.updateDelegate.createCallback(arg1, arg2)

公共方法:

Updater( Mixed el, [Boolean forceNew] )

直接创建一个新的Updater对象。

Updater.updateElement( Mixed el, String url, [String/Object params], [Object options] ) : void

不赞成. 一个静态方法. 反对用此函数取代el.load({url:'foo.php', ...})

用法:Ext.Updater.updateElement("my-div", "stuff.php");

abort() : void

取消当前正在执行的事务。

formUpdate( String/HTMLElement form, [String url], [Boolean reset], [Function callback] ) : void

执行一个异步form post。用返回的响应数据更新element。如果form有一个属性:enctype="multipart/form-data",它表示这是上传文件,将使用this.sslBlankUrl来阻止IE安全警告。

 参数:

   form : String/HTMLElement

   form的id或者是element。

   url : String

   用于form.action。即提交的网址。

   reset : Boolean

   是否在更新完后重置表单。

   callback : Function

   当事务完毕后执和,它有如下参数:

      el : Ext.Element

      正在执行更新的元素

      success : Boolean

      是否更新成功。

      response : XMLHttpRequest

      响应结果。。

getEl() : Ext.Element

获得要更新的元素。

getRenderer() : void

取得当前内容呈现器。到Ext.Updater.BasicRenderer.render看更多的细节。

isAutoRefreshing() : void

是否是定时更新。。

isUpdating() : Boolean

是否处于正在更新中。

refresh( [Function callback] ) : void

用上一次更新的地址(defaultUrl)再次更新一下。如果没有就马上返回。

  callback : Function  

  更新完毕后调用。

setDefaultUrl( String/Function defaultUrl ) : void

设置defaultUrl。

setRenderer( Object renderer ) : void

设置呈现器。

showLoading() : void

显示指示器。

startAutoRefresh( Number interval, [String/Object/Function url], [String/Object params], [Function callback], [Boolean refreshNow] ) : void

把这个元素设置为自动更新。通过使用stopAutoRefresh来停止自动更新。

stopAutoRefresh() : void

停止自动更新。

update( Object options ) : void

发起一次异步请求,使用请求的响应结果来更新元素内容。

注意:由于异步请求的一般是远程主机,所以元素不会在此函数返回时更新。要处理返回的数据,请使用回调或事件。

  参数:

    options : Object

    一个包含如下属性的配置对象。

    

     url : String/Function

     请求所需要的url或能返回url的函数。

     method : String

     Post或者是GET。全为大写。

     params : String/Object/Function

     见Ext.data.Connection中的options.params的说明。

     scripts : Boolean

     当响应数据中包含<script>……</script>,即包含脚本或脚本引用时,是否提取并执行。为真则执行。默认值为:Ext.Updater.defaults.loadScripts。如果这个属性在options中设置了,那么回调将在此script执行完后再执行。

     callback : Function

     当响应结果已返回时调用,它有如下参数:

       el : Ext.Element

       正在更新的元素的引用。

       success : Boolean

       是否更新成功。

       response : XMLHttpRequest

       包含响应数据的XMLHttpRequest。

       options : Object

       传给update方法的options。

     scope : Object

     回调使用的scope。

     discardUrl : Boolean

     是否抛弃当前更新的url,不保存到defaultUrls。

     timeout : Number

超时设置,单位为秒。默认值为:Ext.Updater.defaults.timeout。

     text : String

     这个text与indicatorText的区别在于,请见代码:

     this.indicatorText = '<div class="loading-indicator">'+cfg.text+"</div>";

     nocache : Boolean

     用于Ext.data.Connection.disableCaching。

  

     示例代码:

     um.update({

     url: "your-url.php",

     params: {param1: "foo", param2: "bar"}, // or a URL encoded string

     callback: yourFunction,

     scope: yourObject, //(optional scope)

     discardUrl: true,

     nocache: true,

     text: "Loading...",

     timeout: 60,

     scripts: false // Save time by avoiding RegExp execution.

     });

公共事件:

beforeupdate : ( Ext.Element el, String/Object/Function url, String/Object params )

在更新之前触发。。

failure : ( Ext.Element el, Object oResponseObject )

更新失败时触发。

update : ( Ext.Element el, Object oResponseObject )

更新成功时触发。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: