ajax.updater 方法有3個(gè)參數(shù): ajax.updater(container,
url, options)
分別表示 1.控件id;2.請(qǐng)求的url;3.具體如下(可選):
下面的例子用到了success (一切OK的時(shí)候才被用到) ,和它同等地位的屬性還有一個(gè)failure (有地方出問(wèn)題的時(shí)候被用到) 這里沒(méi)用到。出錯(cuò)時(shí)在 onFailure 處調(diào)用 reportError 方法。
分別表示 1.控件id;2.請(qǐng)求的url;3.具體如下(可選):
屬性 | 類(lèi)型 | Default | 描述 |
---|---|---|---|
method | Array | 'post' | HTTP 請(qǐng)求方式。get or post |
parameters | String | '' | 在HTTP請(qǐng)求中傳入的url格式的值列表。 |
asynchronous | Boolean | true | 指定是否做異步 AJAX 請(qǐng)求。 |
postBody | String | undefined | 在HTTP POST的情況下,傳入請(qǐng)求體中的內(nèi)容。 |
requestHeaders | Array | undefined | 和請(qǐng)求一起被傳入的HTTP頭部列表, 這個(gè)列表必須含有偶數(shù)個(gè)項(xiàng)目, 任何奇數(shù)項(xiàng)目是自定義的頭部的名稱(chēng), 接下來(lái)的偶數(shù)項(xiàng)目使這個(gè)頭部項(xiàng)目的字符串值。 例子:['my-header1', 'this is the value', 'my-other-header', 'another value'] |
onXXXXXXXX | Function(XMLHttpRequest) | undefined | 在AJAX請(qǐng)求中,當(dāng)相應(yīng)的事件/狀態(tài)形成的時(shí)候調(diào)用的自定義方法。 例如 var myOpts = {onComplete: showResponse, onLoaded: registerLoaded};. 這個(gè)方法將被傳入一個(gè)參數(shù), 這個(gè)參數(shù)是攜帶AJAX操作的 XMLHttpRequest對(duì)象。 |
onSuccess | Function(XMLHttpRequest) | undefined | 當(dāng)AJAX請(qǐng)求成功完成的時(shí)候調(diào)用的自定義方法。 這個(gè)方法將被傳入一個(gè)參數(shù), 這個(gè)參數(shù)是攜帶AJAX操作的 XMLHttpRequest對(duì)象。 |
onFailure | Function(XMLHttpRequest) | undefined | 當(dāng)AJAX請(qǐng)求完成但出現(xiàn)錯(cuò)誤的時(shí)候調(diào)用的自定義方法。 這個(gè)方法將被傳入一個(gè)參數(shù), 這個(gè)參數(shù)是攜帶AJAX操作的 XMLHttpRequest對(duì)象。 |
insertion | Function(Object, String) | null | 為了把返回的文本注入到一個(gè)元素中而執(zhí)行的方法。 這個(gè)方法將被傳入兩個(gè)參數(shù),要被更新的對(duì)象并且只應(yīng)用于 Ajax.Updater 的響應(yīng)文本 。 |
evalScripts | Boolean | undefined, false | 決定當(dāng)響應(yīng)到達(dá)的時(shí)候是否執(zhí)行其中的腳本塊,只在 Ajax.Updater 對(duì)象中應(yīng)用。 |
decay | Number | undefined, 1 | 決定當(dāng)最后一次響應(yīng)和前一次響應(yīng)相同時(shí)在 Ajax.PeriodicalUpdater 對(duì)象中的減漫訪問(wèn)的次數(shù), 例如,如果設(shè)為2,后來(lái)的刷新和之前的結(jié)果一樣, 這個(gè)對(duì)象將等待2個(gè)設(shè)定的時(shí)間間隔進(jìn)行下一次刷新, 如果又一次一樣, 那么將等待4次,等等。 不設(shè)定這個(gè)只,或者設(shè)置為1,將避免訪問(wèn)頻率變慢。 |
function getContents()
{
var request_url = "test1.html"; // 需要獲取內(nèi)容的url
var request_pars = '';//請(qǐng)求參數(shù)
var myAjax = new Ajax.Updater('result', request_url,{ // 將request_url返回內(nèi)容綁定到id為result的容器中
method : 'get', //HTTP請(qǐng)求的方法,get or post
parameters : request_pars, //請(qǐng)求參數(shù)
onFailure : reportError, //失敗的時(shí)候調(diào)用 reportError 函數(shù)
onLoading : loading, //正在獲得內(nèi)容的時(shí)候
onComplete : done //內(nèi)容獲取完畢的時(shí)候
});
}
function loading()
{
$('loading').style.display = 'block';
}
function done()
{
$('loading').style.display = 'none';
}
function reportError(request)
{
alert('Sorry. There was an error.');
}
Ajax.Updater
為我們提供加載文檔時(shí)候的三種狀態(tài),
onComplete,onLoading,onFailure.我們可以自定義一個(gè)函數(shù)分別相應(yīng)這三種不同的狀態(tài)。{
var request_url = "test1.html"; // 需要獲取內(nèi)容的url
var request_pars = '';//請(qǐng)求參數(shù)
var myAjax = new Ajax.Updater('result', request_url,{ // 將request_url返回內(nèi)容綁定到id為result的容器中
method : 'get', //HTTP請(qǐng)求的方法,get or post
parameters : request_pars, //請(qǐng)求參數(shù)
onFailure : reportError, //失敗的時(shí)候調(diào)用 reportError 函數(shù)
onLoading : loading, //正在獲得內(nèi)容的時(shí)候
onComplete : done //內(nèi)容獲取完畢的時(shí)候
});
}
function loading()
{
$('loading').style.display = 'block';
}
function done()
{
$('loading').style.display = 'none';
}
function reportError(request)
{
alert('Sorry. There was an error.');
}
下面的例子用到了success (一切OK的時(shí)候才被用到) ,和它同等地位的屬性還有一個(gè)failure (有地方出問(wèn)題的時(shí)候被用到) 這里沒(méi)用到。出錯(cuò)時(shí)在 onFailure 處調(diào)用 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>
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>