上文(零基礎學習AJAX之AJAX的簡介和基礎)對ajax非同步請求伺服器做了詳細的介紹和基礎應用,可以看出,ajax的一些過程是相對不變的。不必要每次發送請求都寫一遍發送代碼,一些ajax開發人員已經把他們的過程封裝成ajax架構。
本節主要介紹ajaxLib和ajaxGold兩款架構。
1.ajaxLib
ajaxLib是一個非常小巧的ajax架構。
使用它首先將檔案使用引入到頁面中。改架構是一個直接擷取XML的架構,調運函數如下:
loadXMLDoc(url,callback,boolean)
其中,url為非同步請求的地址,callback為請求成功之後返回之後調運的函數名稱;boolean表示是否去掉XML文檔中的空格,true為去掉空格
如:
<input type="button" value="display" onclick="loadXMLDoc('1-7.aspx',decodeXML,false);" />
採用AjaxLib架構返回的XML文檔儲存在全域變數resultXML中,可以再decodeXML中編寫程式對其進行分析,例如:
複製代碼 代碼如下:
function decodeXML(){
var oTemp =resultXML.getElementsByTagName("temp");
document.getElementById("targetID").innerHTML = oTemp[0].firstChild.nodeValue;
}
可以看到代碼長度比以前少了很多。
2.使用ajaxGold
Ajaxgold是另外一款特別實用的ajax架構。
Ajaxgold是另外一款特別實用的ajax架構。它有4個函數供開發人員使用
複製代碼 代碼如下:
getDataReturnText(url,callback);
getDataReturnXML(url,callback);
postDataReturnText(url,data,callback);
postDataReturnXML(url,data,callback);
前兩個用於get方式返迴文本和XML,後面兩個函數是使用POST請求方式返迴文本和XML,下面以postDataReturnText(url,data,callback)為例說明
複製代碼 代碼如下:
<form>
<input type="button" value="請求資料" onclick="postDataReturnText('1-8.aspx','a=2&b=3',display);">
</form>
<div id="targetID">提取的資料將要顯示在這</div>
以上代碼向1-8.aspx發送資料,並傳遞資料a=2b=3,伺服器返回成功之後調運函數display()對傳回值進行處理。
在ajaxGold中,返迴文本作為callback函數的唯一參數來使用的,因此display()函數可以這樣編寫
複製代碼 代碼如下:
<script type="text/javascript">
function display(text) {
document.getElementById("targetID").innerHTML = text;
}
</script>
以上即是本文的全部內容了,希望大家能夠喜歡