一个Ajax类

 更新时间: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方式发送数据
classAjax.get();//get方式发送数据
//sUrl发送地址
//sRecvTyp 接受数据类型:0为xml 1为text
//oResultFunc 返回结果处理函数
</script>

应用实例:
<script type="text/javascript">
var ajax1 = new Ajax("1.asp",0,"id="+id,bacal);
ajax1.post();
function bacal(rexm){
//返回数据处理函数;
}
</script>

相关文章

  • 用AJAX技术聚合RSS

    用AJAX技术聚合RSS

    用AJAX技术聚合RSS...
    2007-02-02
  • Ajax loading gif generator

    Ajax loading gif generator

    Ajax loading gif generator...
    2006-11-11
  • Ajax实现异步加载数据

    Ajax实现异步加载数据

    这篇文章主要为大家详细介绍了Ajax实现异步加载数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • AJAX的跨域问题解决方案

    AJAX的跨域问题解决方案

    跨域简单的说,就是从一个域名的网页去访问另一个域名网页的资源,下面这篇文章主要给大家介绍了关于AJAX的跨域问题解决的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • ajax中文乱码问题解决方案

    ajax中文乱码问题解决方案

    ajax中文乱码问题在中文中经常会出现这种问题,其实只要稍加注意就不会出现ajax中文乱码这回事情了,接下来为大家详细介绍下如何解决这类问题
    2013-04-04
  • Ajax长连接项目案例

    Ajax长连接项目案例

    所谓的长连接,就是不断去发送请求,把请求阻塞在服务器端,每次超过请求时间就去重新发送请求,下面以一个实例为大家详细介绍下,感兴趣的朋友可不要错过了哈
    2013-08-08
  • 各种AJAX方法的使用比较详解

    各种AJAX方法的使用比较详解

    AJAX技术经过这么多年的发展,出现了一些框架或类库用于简化开发工作,不同的框架类库的使用方法也各不相同。 现在,再回头看看这些技术,看看这些框架类库,我们能感受到技术在不断地发展,AJAX开发越来越容易了。
    2015-09-09
  • Ajax请求成功后打开新窗口地址

    Ajax请求成功后打开新窗口地址

    这篇文章主要介绍了Ajax请求成功后打开新窗口地址的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • Ajax异步检查用户名是否存在

    Ajax异步检查用户名是否存在

    这篇文章主要为大家详细介绍了Ajax异步检查用户名是否存在的相关方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 利用Ajax实现智能回答的机器人示例代码

    利用Ajax实现智能回答的机器人示例代码

    这篇文章主要介绍了利用Ajax实现智能回答的机器人,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12

最新评论