轉載自: 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>