ajax 类大全,一个封装的Ajax类

用法:

new Ajax().Request(url,cmd,async,method,postString,title)

参数:

url: 请求页面URL(必填)

cmd: 返回值处理函数(必填)

async: 是否异步 ,(ture|false), 默认true

method: 请求方式,(post|get), 默认get

postString: 请求方式为post时,请求内容

title: 请求内容标题

// Ajax 封装 2007-3-13

function createXMLHttpRequest() {

try {

if (window.XMLHTTPRequest) {

return new XMLHttpRequest();

}

else if (window.ActiveXObject) {

return new ActiveXObject("Microsoft.XMLHTTP");

}

}

catch (e) {alert("XMLHttpRequest对象无法创建!请检查IE安全设置!");}

}

function messageDiv(t)

{

var v = document.createElement("

");

v.innerHTML = "

"

" +

"

" +

                  " " + t + ",连接未初始化...

";

var l = document.getElementsByName("message").length;

v.style.cssText = "position:absolute;bottom:" + (l*24) + "px;left:0px;display:none";

document.body.appendChild(v);

this.clear = function () {

document.body.removeChild(v);

var msg = document.getElementsByName("message");

for (var i=0;i

msg[i].parentNode.style.cssText = "position:absolute;bottom:" + (i*24) + "px;left:0px";

}

}

this.showmsg = function (s) {

v.style.display = "";

v.all.Span1.innerHTML = s;

}

}

function Ajax() {

var x = new createXMLHttpRequest();

this.Request = function (url,cmd,async,method,postString,title) {

if (method!="post") method = "post"; else method = "get";

if (async!=true) async = true; else async = false;

if (typeof(postString)!="string") postString="";

if (typeof(title)!="string") title="正在获取数据"; else title="正在获取" + title;

var msgbox = new messageDiv(title);

x.onreadystatechange = function ()

{

if (async) switch (x.readystate) {

case 1:

msgbox.showmsg("正在初始化连接...");

return;

case 2:

msgbox.showmsg("正在发送数据...");

return;

case 3:

msgbox.showmsg("正在接收数据...");

return;

case 4:

msgbox.showmsg("数据接收完成...");

if (x.status == 200) {

cmd(x.responseText);

msgbox.clear();

}

else {

msgbox.showmsg("请求失败," + x.statustext + "(" + x.status + ")");

setTimeout(msgbox.clear,3000);

}

return;

}

}

x.open (method,url,async);

if (method=="post") {msgbox.showmsg("正在接收数据...");x.send(postString);} else x.send();

if (!async) {

msgbox.showmsg("数据接收完成...");

cmd(x.responseText);

msgbox.clear();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值