prototype.js 的 Ajax.updater 的 用法

來源:互聯網
上載者:User

轉載自: http://www.cnblogs.com/beyondGodLike/archive/2009/08/04/1538543.html

ajax.updater 方法有3個參數: ajax.updater(container, url, options)

分別表示 1.控制項id;2.請求的url;3.具體如下(可選):

屬性 類型 Default 描述
method Array 'post' HTTP 要求方式。get or post
parameters String '' 在HTTP請求中傳入的url格式的值列表。
asynchronous Boolean true 指定是否做非同步 AJAX 請求。
postBody String undefined 在HTTP POST的情況下,傳入請求體中的內容。
requestHeaders Array undefined 和請求一起被傳入的HTTP頭部列表, 這個列表必須含有偶數個項目, 任何奇數項目是自訂的頭部的名稱, 接下來的偶數項目使這個頭部項目的字串值。 例子:['my-header1', 'this is the value', 'my-other-header', 'another value']
onXXXXXXXX Function(XMLHttpRequest) undefined 在AJAX請求中,當相應的事件/狀態形成的時候調用的自訂方法。 例如 var myOpts = {onComplete: showResponse, onLoaded: registerLoaded};. 這個方法將被傳入一個參數, 這個參數是攜帶AJAX操作的
XMLHttpRequest對象。
onSuccess Function(XMLHttpRequest) undefined 當AJAX請求成功完成的時候調用的自訂方法。 這個方法將被傳入一個參數, 這個參數是攜帶AJAX操作的 XMLHttpRequest對象。
onFailure Function(XMLHttpRequest) undefined 當AJAX請求完成但出現錯誤的時候調用的自訂方法。 這個方法將被傳入一個參數, 這個參數是攜帶AJAX操作的 XMLHttpRequest對象。
insertion Function(Object, String) null 為了把返回的文本注入到一個元素中而執行的方法。 這個方法將被傳入兩個參數,要被更新的對象並且只應用於 Ajax.Updater
的響應文本 。
evalScripts Boolean undefined, false 決定當響應到達的時候是否執行其中的指令碼塊,只在
Ajax.Updater 對象中應用。
decay Number undefined, 1 決定當最後一次響應和前一次響應相同時在
Ajax.PeriodicalUpdater 對象中的減漫訪問的次數, 例如,如果設為2,後來的重新整理和之前的結果一樣, 這個對象將等待2個設定的時間間隔進行下一次重新整理, 如果又一次一樣, 那麼將等待4次,等等。 不設定這個只,或者設定為1,將避免訪問頻率變慢。

function getContents() 

var request_url = "test1.html";       // 需要擷取內容的url 
var request_pars = '';//請求參數 

var myAjax = new Ajax.Updater('result', request_url,{ // 將request_url返回內容綁定到id為result的容器中 
method     : 'get', //HTTP請求的方法,get or post 
parameters : request_pars, //請求參數 
onFailure  : reportError, //失敗的時候調用 reportError 函數 
onLoading  : loading, //正在獲得內容的時候 
onComplete : done     //內容擷取完畢的時候 
}); 

function loading() 

$('loading').style.display = 'block'; 

function done() 

$('loading').style.display = 'none'; 

function reportError(request) 

alert('Sorry. There was an error.'); 

Ajax.Updater為我們提供載入文檔時候的三種狀態, onComplete,onLoading,onFailure.我們可以自訂一個函數分別相應這三種不同的狀態。
下面的例子用到了success (一切OK的時候才被用到) ,和它同等地位的屬性還有一個failure (有地方出問題的時候被用到) 這裡沒用到。出錯時在
onFailure 處調用 reportError 方法。<script>
    function getHTML()
    {
        var url = 'http://yourserver/app/getSomeHTML';
        var pars = 'someParameter=ABC';
        var myAjax = new Ajax.Updater(
                    {success: 'placeholder'},
                    url,
                    {method: 'get', parameters: pars, onFailure: reportError});
    }
    function reportError(request)
    {
        alert('Sorry. There was an error.');
    }
</script>

<input type=button value=GetHtml onclick="getHTML()">
<div id="placeholder"></div>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.