一个封装的Ajax类
来源:互联网 发布:英雄分析 卡特知乎 编辑:程序博客网 时间:2024/04/29 04:39
用法:
new AJAX().Request(url,cmd,async,method,postString,title)
参数:
url: 请求页面URL(必填)
cmd: 返回值处理函数(必填)
async: 是否异步 ,(ture|false), 默认true
method: 请求方式,(post|get), 默认get
postString: 请求方式为post时,请求内容
title: 请求内容标题
[复制此代码]CODE:
// 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("<div>");
v.innerHTML = "<table style=/"width:300px;/" id=message>" +
"<tr style=/"font-size:12px;background-color:#EEEEff;color:#227933;height:20px/">" +
"<td style=/"padding:2px;border-top:1px solid #E1E1E1;border-left:1px solid #E1E1E1;border-bottom:1px solid #818181;border-right:1px solid #A1A1A1/">" +
"<nobr><img src=refresh.gif align=absmiddle> " + t + ",<span id=Span1>连接未初始化...</span></nobr></td></tr></table>";
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.length;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();
}
}
}
该文章转载自网络大本营:http://www.xrss.cn/Info/11323.Html
- 一个封装的Ajax类
- 收藏的一个js ajax封装类
- 对jquery的ajax的一个封装
- 封装一个简单的同步Ajax函数
- 封装一个简单的同步Ajax函数
- 封装一个简单的Ajax函数
- 如何自己封装一个Ajax类
- 封装一个ajax函数
- 自己封装的ajax类
- 自己封装的一个最简单的ajax
- 一个AJAX连接池封装
- 封装一个Ajax工具函数
- 一个封装了在Ajax下弹出Alert、showModelessDialog、showModalDialog窗口的类(转)
- 封装过的Ajax工具类库
- 自己封装的ajax
- Ajax的js封装
- Ajax的封装
- 封装的ajax
- PQMagic8合并分区,文件打不开,问题解决!》
- 《JUnit in action》
- 利用Asp.net Ajax异步获取xml文档内容
- 未能找到带参数的非泛型方法
- 求两个数互质算法
- 一个封装的Ajax类
- ASP程序中提供在线文章翻译功能
- XSD Simple 元素
- ajax读博客rss示例
- sizeof的总结
- Lucene中的各种Query实例
- Oracle里时间的应用
- XSD 属性
- asp.net2.0 TreeView控件“输入字符串的格式不正确”或“回调时发生错误”