一个Ajax类

程序代码:
<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>

(0)

相关推荐

  • 一个Ajax类

    程序代码:<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

  • 一个AJAX类代码

    基本用法: 复制代码 代码如下: var ajax = new AjaxObj(url); ajax.addListener(200, function(r){ alert(r); }); ajax.send(); 也可以连续调用: 复制代码 代码如下: var ajax = new AjaxObj(url).addListener(200, function(r){ alert(r); }).send(); 另外还支持自定义的POST或GET方式请求,以及监视不同的HTTP状态码,自己看代码琢

  • 也写一个Ajax.Request类附代码

    目的:因为blog程序里的某些模块需要用到ajax,直接使用prototype.js体积比较大(40多k),而且仅仅用到其中的ajax功能,因此为了减轻下载的负担,又不能改动已经在prototype.js框架下写好的代码,只能是按照prototype的风格,自己写一个ajax类,达到零成本移植框架. 新的ajax类如下: var Ajax = {xmlhttp:function(){ try{ return new ActiveXObject('Msxml2.XMLHTTP'); }catch(

  • 原生Javascript封装的一个AJAX函数分享

    最近的工作中涉及到大量的ajax操作,本来该后台做的事也要我来做了.而现在使用的ajax函数是一个后台人员封装的--但他又是基于jquery的ajax,所以离开了jquery这个函数就毫无作用了.而且我觉得,jquery的ajax方法是很完善的了,可以直接用,如果都有jquery了,那么他的ajax就不用白不用了.我缺少的是一个能在没有jquery的情况下使用的ajax方法. 所以我也花一天时间写了一个,参数与调用方法类似于jquery的ajax.就叫xhr吧,因为xhr=XMLHttpRequ

  • 非常不错的一个javascript 类

    非常不错的一个javascript 类 复制代码 代码如下: /*    *  Author:aoao  *    Homepage:http://www.loaoao.com  *  Email:loaoao@gmail.com / QQ:2222342  *  Copyright (c) 2006 aoao  *  Licensed under a Creative Commons Attribution 2.5 License (http://creativecommons.org/lic

  • 如何编写一个ASP类

    前几天大佛写了"ASP设计模式",可能有些初学者或者刚刚接触ASP的朋友不一定完全看得明白,偶就整理了一下编写一个ASP类的方法,大部分是从网上找来的.希望对朋友们有帮助.  <ASP设计模式>(作者 我佛山人): dispbbs.asp?boardID=20&ID=247879 首先ASP的类是由事件和方法(它们就是构成类的成员了)构成的,如果大家还没有接触过,可以先看看下面的说明: 在 Class 块中,成员通过相应的声明语句被声明为 Private(私有成员,

  • 一个string类的简单实现案例

    string类中使用到了赋值构造函数.复制构造函数.构造函数.默认构造函数.析构函数.重载操作符等一些类操作 class String { public: String() { data = new char[1]; //这里为什么使用new char[1]呢,虽然是一个字符,这是为了和析构函数保持对称,因为在别的构造函数中使用的char[] data[0]='\0'; length = 0; } String(const char* str) { length = strlen(str); d

  • 用JS写的一个Ajax库(实例代码)

    myajax是一个用js编写的一个跨浏览器的ajax库,支持get, post, jsonp请求,精巧,简单. 一.发送GET请求: myajax.get({ <span style="white-space:pre"> </span>data: {}, //参数 url: "", //请求地址 //发生错误是调用 error: function(data) { }, //请求成功调用 success: function(data){ <

  • 好用的AJAX类代码分享

    ajax.js -------------------------[ajax类]-------------------------- 复制代码 代码如下: function Ajax(recvType){ var aj=new Object(); aj.recvType=recvType ? recvType.toUpperCase() : 'HTML'; //向形参中传递的文件类型 aj.targetUrl=''; aj.sendString=''; aj.resultHandle=null;

  • javascript Ajax 类实现代码

    与现在那些Ajax框架比较,优劣之处?看完再说吧: 1.Ajax.js 复制代码 代码如下: /*     AJAX v1.4     HJF 2009-7-5 */ function AjaxDO(){ this.HttpRequest = null; this.openMethod = null; //HTTP请求的方法,为Get.Post 或者Head this.openURL = null; //是目标URL.基于安全考虑,这个URL 只能是同网域的,否则会提示"没有权限"的错

随机推荐