一個(gè)Ajax類
更新時(shí)間:2006年12月25日 00:00:00 作者:
程序代碼:
<script type="text/javascript">
function Ajax(sUrl,sRecvTyp,sQueryString,oResultFunc) {
this.Url = sUrl;
this.QueryString = sQueryString;
this.XmlHttp = this.createXMLHttpRequest();
if (this.XmlHttp == null) {
alert("erro");
return;
}
var objxml = this.XmlHttp;
objxml.onreadystatechange = function (){Ajax.handleStateChange(objxml,sRecvTyp,oResultFunc)};
}
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.QueryString;
return queryString;
}
Ajax.prototype.get = function () {
sUrl = this.Url;
var queryString = sUrl+"?timeStamp=" + new Date().getTime() + "&" + this.createQueryString();
this.XmlHttp.open("GET",queryString,true);
this.XmlHttp.send(null);
}
Ajax.prototype.post = function() {
sUrl = this.Url;
var sUrl = sUrl + "?timeStamp=" + new Date().getTime();
var queryString = this.createQueryString();
this.XmlHttp.open("POST",sUrl,true);
this.XmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
this.XmlHttp.send(queryString);
}
Ajax.handleStateChange = function (XmlHttp,sRecvTyp,oResultFunc) {
if (XmlHttp.readyState == 4) {
if (XmlHttp.status == 200) {
oResultFunc(sRecvTyp?XmlHttp.responseXML:XmlHttp.responseText);
} else {
alert("您所請求的頁面有異常。");
}
}
}
</script>
使用方法:
<script type="text/javascript">
var classAjax = new Ajax(sUrl,sRecvTyp,sQueryString,oResultFunc);
classAjax.post();//post方式發(fā)送數(shù)據(jù)
classAjax.get();//get方式發(fā)送數(shù)據(jù)
//sUrl發(fā)送地址
//sRecvTyp 接受數(shù)據(jù)類型:0為xml 1為text
//oResultFunc 返回結(jié)果處理函數(shù)
</script>
應(yīng)用實(shí)例:
<script type="text/javascript">
var ajax1 = new Ajax("1.asp",0,"id="+id,bacal);
ajax1.post();
function bacal(rexm){
//返回?cái)?shù)據(jù)處理函數(shù);
}
</script>
<script type="text/javascript">
function Ajax(sUrl,sRecvTyp,sQueryString,oResultFunc) {
this.Url = sUrl;
this.QueryString = sQueryString;
this.XmlHttp = this.createXMLHttpRequest();
if (this.XmlHttp == null) {
alert("erro");
return;
}
var objxml = this.XmlHttp;
objxml.onreadystatechange = function (){Ajax.handleStateChange(objxml,sRecvTyp,oResultFunc)};
}
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.QueryString;
return queryString;
}
Ajax.prototype.get = function () {
sUrl = this.Url;
var queryString = sUrl+"?timeStamp=" + new Date().getTime() + "&" + this.createQueryString();
this.XmlHttp.open("GET",queryString,true);
this.XmlHttp.send(null);
}
Ajax.prototype.post = function() {
sUrl = this.Url;
var sUrl = sUrl + "?timeStamp=" + new Date().getTime();
var queryString = this.createQueryString();
this.XmlHttp.open("POST",sUrl,true);
this.XmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
this.XmlHttp.send(queryString);
}
Ajax.handleStateChange = function (XmlHttp,sRecvTyp,oResultFunc) {
if (XmlHttp.readyState == 4) {
if (XmlHttp.status == 200) {
oResultFunc(sRecvTyp?XmlHttp.responseXML:XmlHttp.responseText);
} else {
alert("您所請求的頁面有異常。");
}
}
}
</script>
使用方法:
<script type="text/javascript">
var classAjax = new Ajax(sUrl,sRecvTyp,sQueryString,oResultFunc);
classAjax.post();//post方式發(fā)送數(shù)據(jù)
classAjax.get();//get方式發(fā)送數(shù)據(jù)
//sUrl發(fā)送地址
//sRecvTyp 接受數(shù)據(jù)類型:0為xml 1為text
//oResultFunc 返回結(jié)果處理函數(shù)
</script>
應(yīng)用實(shí)例:
<script type="text/javascript">
var ajax1 = new Ajax("1.asp",0,"id="+id,bacal);
ajax1.post();
function bacal(rexm){
//返回?cái)?shù)據(jù)處理函數(shù);
}
</script>
相關(guān)文章
基于h5 ajax實(shí)現(xiàn)手機(jī)定位(demo)
最近沒有項(xiàng)目做,正有朋友請幫忙實(shí)現(xiàn)手機(jī)定位功能,實(shí)現(xiàn)方法有很多種,我是用h5和ajax實(shí)現(xiàn)的手機(jī)定位,只是個(gè)demo,后續(xù)還要繼續(xù)完善的,在此分享給大家,需要的朋友可以參考下2015-09-09Ajax與JSON的一些學(xué)習(xí)總結(jié)
Ajax技術(shù)的核心是XMLHttpRequest對象(簡稱XHR),可以通過使用XHR對象獲取到服務(wù)器的數(shù)據(jù),然后再通過DOM將數(shù)據(jù)插入到頁面中呈現(xiàn)。雖然名字中包含XML,但Ajax通訊與數(shù)據(jù)格式無關(guān),所以我們的數(shù)據(jù)格式可以是XML或JSON等格式2012-08-08ajax動(dòng)態(tài)為a標(biāo)簽href賦值不執(zhí)行跳轉(zhuǎn)的原因分析及解決
ajax 動(dòng)態(tài)為a標(biāo)簽的href屬性賦值,總是不執(zhí)行跳轉(zhuǎn)的原因想必大家有遇到過吧,下面與大家分享下具體的解決方法,希望對你有所幫助2013-06-06在實(shí)戰(zhàn)中可能碰到的幾種ajax請求方法詳解
這篇文章主要給大家分享了在實(shí)戰(zhàn)中可能碰到的幾種ajax請求方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-03-03ajax返回的json內(nèi)容進(jìn)行排序使用sort()方法實(shí)現(xiàn)
關(guān)于ajax返回的json內(nèi)容進(jìn)行排序,主要使用sort()對數(shù)組的元素進(jìn)行排序,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-07