Ajax类

2006-07-25 22:36:19

使用方法 var classajax = new Ajax(url,recvT,stringS,resultF); classajax.post();//post方式发送数据 classajax.get();//get方式发送数据 url发送地址 recvT 接受数据类型 0为xml 1为text resultF 返回结果处理函数 例 var ajax1 = new Ajax("1.asp",0,"id="+id,bacal); ajax1.post(); function bacal(rexm){ 返回数据处理函数; } [code] function Ajax(url,recvT,stringS,resultF) { this.url = url; this.stringS = stringS; this.xmlHttp = this.createXMLHttpRequest(); if (this.xmlHttp == null) { alert("erro"); return; } var objxml = this.xmlHttp; objxml.onreadystatechange = function (){Ajax.handleStateChange(objxml,recvT,resultF)}; } Ajax.prototype.createXMLHttpRequest = function() { try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} try { return new XMLHttpRequest(); } catch(e) {} return null; } Ajax.prototype.createQueryString = function () { var queryString = this.stringS; return queryString; } Ajax.prototype.get = function () { url = this.url; var queryString = url+"?timeStamp=" + new Date().getTime() + "&" + this.createQueryString(); this.xmlHttp.open("GET",queryString,true); this.xmlHttp.send(null); } Ajax.prototype.post = function() { url = this.url; var url = url + "?timeStamp=" + new Date().getTime(); var queryString = this.createQueryString(); this.xmlHttp.open("POST",url,true); this.xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); this.xmlHttp.send(queryString); } Ajax.handleStateChange = function (xmlHttp,recvT,resultF) { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { resultF(recvT?xmlHttp.responseXML:xmlHttp.responseText); } else { alert("您所请求的页面有异常。"); } } } [/code]