上文(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;
}
完整代码:http://study.ahthw.com/ajaxresponse/1-7.html
可以看到代码长度比以前少了很多。
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>
实例:http://study.ahthw.com/ajaxresponse/1-8.html
欢迎大家点评