|
最近在工作的时候总结了一套ajax的简易使用方法,通用性极好,给我的工作带来了不少效率上的提高,先贴出来给大家参考: 一,先建一个ajax.js的文件,文件的内容如下: var http_request = false; var callback_func;
function sendRequest(url, argstr, func, method) {
? http_request = false; ? callback_func = func;
? if (window.XMLHttpRequest) { // Mozilla, Safari,... ??? http_request = new XMLHttpRequest(); ??? if (http_request.overrideMimeType) { ????? http_request.overrideMimeType('text/xml'); ??? } ? } else if (window.ActiveXObject) { // IE ??? try { ????? http_request = new ActiveXObject("Msxml2.XMLHTTP"); ??? } catch (e) { ????? try { ??????? http_request = new ActiveXObject("Microsoft.XMLHTTP"); ????? } catch (e) {} ??? } ? }
? if (!http_request) { ??? alert('Giving up :( Cannot create an XMLHTTP instance'); ??? return false; ? } ? http_request.onreadystatechange = alertContents; ? ? if (method == 'GET') { ??? http_request.open('GET', url + '?' + argstr, true); ??? http_request.send(null); ? } else { ??? http_request.open('POST', url, true); ??? http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=GBK"); ??? http_request.send(argstr); ? } }
function alertContents() {
? if (http_request.readyState == 4) { ??? if (http_request.status == 200) { ????? callback_func(http_request.responseText); ??? } else { ????? alert('There was a problem with the request.'); ??? } ? } }
二,在页面使用如下代码将js文件包含进来: <script language=javascript src="ajax.js"></script>
三,在页面调用sendRequest(...)方法: 如:<a href="javascript:sendRequest('hello.jsp',param,function,'GET')" >调用AJAX</a> 或:<input type="button" value="提交" onclick="sendRequest('getInfo.do',param,function,'POST')" /> 注释(以第一个为例): hello.jsp:? 这个例子采用ajax通过一个链接请求hello.jsp页面, param:?? 为参数,可以为空,也可以不为空,比如name=value&password=123456,也可以通过把一个表单(form)的字段组合起来作为一个字符串传递 过去,??? ?function: 是你自己写的一个函数,用于处理返回的内容,一般的处理是 将返回的内容显示在页面,一个典型的例子: ???function search(str){ ?????????alert(str); //用于调试. ????????myId.innerHTML = str; ?? } GET: 是请求的方法,简单的说,get代表请求一个资源,post代表提交参数并请求资源.
任何疑问,可以联系本人:diego.liu@163.com

潜心 2006-05-25 13:01
|