原创一个AJAX类
作者:biyuan 来源:biyuan的专栏 时间:2008-07-24 13:29:00
Ajax类
Send方法的参数解释:
Ajax.Send(Url[, Async[, CallFunc[, User[, Pass]]]]);
Ajax:
必选项,Ajax对象的一个实例。
Url:
必选项,请求的地址。
Async:
可选项,为空表示请求模式为GET,为具体参数(如:{key : "postkey", value : "postvalue"})表示请求为POST。
CallFunc:
可选项,为空表示同步请求,为一个Function对象时表示异步请求并在Ajax的onreadystatechange事件中调用此函数。
User:
可选项,服务器需要验证时此参数为验证需要的用户名。
Pass:
可选项,服务器需要验证是此参数为验证需要的密码。
例子:
function getSend() {
if(ajax.xml.readyState == 4 && ajax.xml.status == 200){
alert(ajax.xml.responseText);
}
else {
alert("wait...");
}
}
var PostString = {
classid : 1,
search : "无忧脚本"
}
var ajax = new Ajax();
ajax.Send("http://bbs.51js.com/");//GET同步请求,可用ajax.xml.responseText获取返回值
ajax.Send("http://bbs.51js.com/", false, getSend);//GET异步请求,回调getSend()函数
ajax.Send("http://bbs.51js.com/", PostString);//POST同步请求,可用ajax.xml.responseText获取返回值
ajax.Send("http://bbs.51js.com/", PostString, getSend);//POST异步请求,回调getSend()函数
以下为程序代码:
function Ajax() {
this.xmlObject = function() {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
return new XMLHttpRequest();
}
catch(e) {
return window.createRequest();
} ;
};
};
};
this.xml = this.xmlObject();
this.Send = function() {
var PostStr = !!arguments[1] ? (function() {
var tempArr = new Array();
for(var i in arguments.callee.caller.arguments[1]){
tempArr.push(i + "=" + arguments.callee.caller.arguments[1][i]);
}
return tempArr.join("&");
})() : null;
this.xml.open(PostStr ? "POST" : "GET", arguments[0], !!arguments[2], arguments[3], arguments[4]);
!!arguments[2] ? this.xml.onreadystatechange = arguments[2] : null;
if(PostStr){
this.xml.setRequestHeader("Content-Length", PostStr.length);
this.xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
};
this.xml.send(PostStr);
};
};
标签:ajax,类,XMLHTTP
0
投稿
猜你喜欢
asp如何阻止别人非法链接你网站的图片?
2010-07-11 21:01:00
斐波那契数列的递归算法优化
2010-01-23 11:37:00
asp GetString的用法
2008-06-12 13:46:00
如何用SQLMail建立一个电子刊物自动处理系统?
2010-06-13 14:36:00
ASP 获取文件扩展名函数getFileExt()
2011-03-11 11:18:00
asp 随机字符串函数
2011-04-04 11:01:00
关于DOM事件模型的两件事
2007-11-21 19:32:00
When we`re only No.2, we try harder之淘宝节日LOGO互动设计小探讨
2010-01-20 10:31:00
JavaScript程序编码规范[译]
2009-07-20 17:54:00
ASP名次排列函数
2008-07-20 13:42:00
网页布局设计基础
2008-10-16 13:58:00
HTML5 Canvas 起步(1) - 基本概念
2009-04-21 13:14:00
asp vbcrlf是什么意思
2011-03-30 11:03:00
如何防止未经注册的用户绕过注册界面直接进入应用系统?
2009-11-22 19:22:00
asp连接access数据库表代码实例
2008-04-13 06:18:00
DBA_2PC_PENDING 介绍
2009-02-28 10:59:00
帮你六步改善SQL Server安全规划全攻略
2009-01-20 15:07:00
数据安全之MySQL安全的二十三条军规
2008-12-24 16:26:00
互联网产品设计师职业生涯
2009-04-20 20:41:00
专家教你安装 MySQL的与MySQL GUI Tools
2012-01-29 17:59:05