Ajax.Request( url, { method:method, parameters:para, postBody:xmlString, asynchronous:true, setRequestHeader:Object, onComplete:completeFun, onError:errorFun } ) 發送非同步請求。(此方法是為相容 prototype.js 而寫,調用風格與 prototype 一致,使用Ajax.Request此方法請在頁面中載入此js檔案)
參數 url 必選項。資料發送的目標地址。
method 可選項。資料提交的方式,預設值為get。常用的還有post。
parameters 當 method 為 get 時是可選項,為 post 時是必選項。發送的資料,其形式為: name1=valeu1& name2=value2&name3=value3...... postBody 可選項。用戶端發送的 xml 格式字串。如果啟用 postBody,那麼 parameters 將被忽略。 asynchronous 可選項。指定請求是否非同步,預設為true(非同步)。 setRequestHeader 指定請求的頭部字串。其實值型別為“名稱值對”形式的對象,比如:{"If-Modified-Since":"0", "SOAPAction":"http://tempuri.org/SBS_WebService", ... ... } onComplete 可選項。請求成功時執行的回呼函數,該函數預設把當前使用 xmlhttp 對象作為第一個參數。 onError 可選項。請求異常時執行的回呼函數,該函數預設把當前使用 xmlhttp 對象作為第一個參數。 傳回值 當前使用的 xmlhttp 對象。
描述 發送非同步請求,並返回 xmlhttp 對象,該對象內建有 abort() 方法,用於提前終止請求。非同步請求成功則執行 onComplete,失敗則執行 onError 。並返回 xmlhttp 對象。 Ajax.Request 是個介面完整的 Ajax 方法,是 myJSFrame 中所有其他 Ajax 方法的核心方法。
樣本 樣本一: <script type="text/javascript" >
var myAjax = new Ajax.Request("http://www.happyshow.org/form.asp",{ method:"post", //表單提交方式 parameters:"name=acai&age=26&sex=male", //提交的表單資料
setRequestHeader:{"If-Modified-Since":"0"}, //禁止讀取快取資料
onComplete:function(x){ //提交成功回調
alert(x.responseText); }, onError:function(x){ //提交失敗回調
alert(x.statusText); } } );
</script>
註:parameters 參數若是不列出,我們在開發中對於Form 表單這樣的資料 可以這樣處理
parameters:Form.serialize('FormName') FormName 為頁面中表單的 ID
樣本二: <script type="text/javascript" >
var xmlString = "<root>"+"<people><name>caizhongqi</name><sex>male</sex></people>"+"<people><name>ahuang</name> <sex>female</sex></people>"+" </root>";
var myAjax = new Ajax.Request( "http://www.happyshow.org/xmlform.asp",
{ method:"post", //表單提交方式
postBody:xmlString, //提交的xml
setRequestHeader:{"content-Type":"text/xml"}, //指定發送的資料為 xml 文檔(非字串)
onComplete:function(x){ //提交成功回調
alert(x.responseXML.xml); },
onError:function(x){ //提交失敗回調
alert(x.statusText); } } );
</script>