一个简单Ajax类库及使用方法实例分析
本文实例讲述了一个简单Ajax类库及使用方法。分享给大家供大家参考,具体如下:
ajax.js
functionAjax(recvType){ varaj=newObject(); aj.recvType=recvType?recvType.toUpperCase():'HTML'//HTMLXML aj.targetUrl=''; aj.sendString=''; aj.resultHandle=null; aj.createXMLHttpRequest=function(){ varrequest=false; //window对象中有XMLHttpRequest存在就是非IE,包括(IE7,IE8) if(window.XMLHttpRequest){ request=newXMLHttpRequest(); if(request.overrideMimeType){ request.overrideMimeType("text/xml"); } //window对象中有ActiveXObject属性存在就是IE }elseif(window.ActiveXObject){ varversions=['Microsoft.XMLHTTP','MSXML.XMLHTTP','Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP']; for(vari=0;i<versions.length;i++){ try{ request=newActiveXObject(versions[i]); if(request){ returnrequest; } }catch(e){ request=false; } } } returnrequest; } aj.XMLHttpRequest=aj.createXMLHttpRequest(); aj.processHandle=function(){ if(aj.XMLHttpRequest.readyState==4){ if(aj.XMLHttpRequest.status==200){ if(aj.recvType=="HTML") aj.resultHandle(aj.XMLHttpRequest.responseText); elseif(aj.recvType=="XML") aj.resultHandle(aj.XMLHttpRequest.responseXML); } } } aj.get=function(targetUrl,resultHandle){ aj.targetUrl=targetUrl; if(resultHandle!=null){ aj.XMLHttpRequest.onreadystatechange=aj.processHandle; aj.resultHandle=resultHandle; } if(window.XMLHttpRequest){ aj.XMLHttpRequest.open("get",aj.targetUrl); aj.XMLHttpRequest.send(null); }else{ aj.XMLHttpRequest.open("get",aj.targetUrl,true); aj.XMLHttpRequest.send(); } } aj.post=function(targetUrl,sendString,resultHandle){ aj.targetUrl=targetUrl; if(typeof(sendString)=="object"){ varstr=""; for(varproinsendString){ str+=pro+"="+sendString[pro]+"&"; } aj.sendString=str.substr(0,str.length-1); }else{ aj.sendString=sendString; } if(resultHandle!=null){ aj.XMLHttpRequest.onreadystatechange=aj.processHandle; aj.resultHandle=resultHandle; } aj.XMLHttpRequest.open("post",targetUrl); aj.XMLHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); aj.XMLHttpRequest.send(aj.sendString); } returnaj; }
使用方法:
<scripttype="text/javascript"> varajax=Ajax();//实例化对象,默认为HTTP,如果传入XML,返回XML对象 //Ajax的get方法使用说明 /** *function(targetUrl,resultHandle) *@paramstringtargetUrl传递过去的URL地址 *@paramstringresultHandle回调函数,可选项 */ ajax.get('test.php?name=liruxing&email=liruxing1715@sina.com',function(data){ eval("varobj="+data); alert(obj.name); alert(obj.email); }); //Ajax的post方法使用说明 /** *function(targetUrl,sendString,resultHandle) *@paramstringtargetUrl传递过去的URL地址 *@paramstringsendString参数值 *@paramstringresultHandle回调函数,可选项 */ ajax.post('test.php','name=liruxing&email=liruxing1715@sina.com',function(data){ eval("varobj="+data); alert(obj.name); alert(obj.email); }) //post第二种格式,第二个参数为Json格式 ajax.post('test.php',{name:'李茹星',email:'liruxing1715@sina.com'},function(data){ eval("varobj="+data); alert(obj.name); alert(obj.email); }) </script>
更多关于ajax相关内容感兴趣的读者可查看本站专题:《jquery中Ajax用法总结》、《JavaScript中ajax操作技巧总结》、《PHP+ajax技巧与应用小结》和《asp.netajax技巧总结专题》
希望本文所述对大家ajax程序设计有所帮助。