function $() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}
//------------------------------------------------------------------------------------------
//封装XMLHTTP的Request类的代码
var Request = new Object();
//定义一个XMLHTTP的数组
Request.reqList = [];
//创建一个XMLHTTP对象,兼容不同的浏览器
function getAjax()
{
var ajax=false;
try
{
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined')
{
ajax = new XMLHttpRequest();
}
return ajax;
}
//封装XMLHTTP向服务器发送请求的操作
//url:向服务器请求的路径;method:请求的方法,即是GET还是POST;callback:当服务器成功返回结果时,调用的函数
//data:向服务器请求时附带的数据;urlencoded:url是否编码;callback2;当服务器返回错误时调用的函数
Request.send = function(url, method, callback, data, urlencoded, callback2)
{
var req=getAjax(); //得到一个XMLHTTP的实例
//当XMLHTTP的请求状态发生改变时调用
req.onreadystatechange = function()
{
// 当请求已经加载
if (req.readyState == 4)
{
// 当请求返回成功
if (req.status < 400)
{
// 当定义了成功回调函数时,执行成功回调函数
if(callback)
callback(req,data);
}
// 当请求返回错误
else
{
alert("当加载数据时发生错误 :\n" + req.status+ "/" + req.statusText);
//当定义了失败回调函数时,执行失败回调函数
if (callback2)
callback2(req,data);
}
//服务器已经进行了处理,更改界面提示信息
afterLoading();
//删除XMLHTTP,释放资源
try {
delete req;
req = null;
} catch (e) {}
}
}
//如果以POST方式回发服务器
if (method=="POST")
{
req.open("POST", url, true);
//请求需要编码
if (urlencoded)
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(data);
Request.reqList.push(req);
}
//以GET方式请求
else
{
req.open("GET", url, true);
req.send(null);
Request.reqList.push(req);
}
//正在向服务器发送请求,页面显示正在加载的提示
loading();
return req;
}
//全部清除XMLHTTP数组元素,释放资源
Request.clearReqList = function()
{
var ln = Request.reqList.length;
for (var i=0; i<ln; i++) {
var req = Request.reqList[i];
if (req)
{
try
{
delete req;
} catch(e) {}
}
}
Request.reqList = [];
}
//进一步封装XMLHTTP以POST方式发送请求时的代码
//clear:是否清除XMLHTTP数组的所有元素;其他参数的意义参见Request.send
Request.sendPOST = function(url, data, callback, clear, callback2)
{
if (clear)
Request.clearReqList();
Request.send(url, "POST", callback, data, true, callback2);
}
//进一步封装XMLHTTP以GET方式发送请求时的代码
Request.sendGET = function(url, callback, args, clear, callback2)
{
if (clear)
Request.clearReqList();
return Request.send(url, "GET", callback, args, false, callback2);
}
//向服务器发送请求过程中,显示页面加载提示
function loading()
{
var div = $("loadingflag");
if(div)
div.style.display ="";
}
//服务器处理完成后,页面加载提示消失
function afterLoading()
{
var div = $("loadingflag");
if(div)
div.style.display ="none";
}
没有合适的资源?快使用搜索试试~ 我知道了~
无限级级联菜单源码,asp.net,ajax
共11个文件
aspx:3个
js:2个
cs:2个
3星 · 超过75%的资源 需积分: 10 48 下载量 118 浏览量
2011-03-04
19:04:33
上传
评论 1
收藏 54KB RAR 举报
温馨提示
无限级级联菜单源码,asp.net,ajax,无限级级联菜单源码,asp.net,ajax
资源推荐
资源详情
资源评论
收起资源包目录
无限级级联菜单源码.rar (11个子文件)
14
Default3.aspx 1KB
App_Code
Tools.cs 1KB
Handler.ashx 2KB
Default2.aspx 1KB
Web.Config 2KB
App_Data
db.mdb 420KB
Default.aspx 1KB
Default.aspx.cs 4KB
Handler2.ashx 2KB
multySelect.js 2KB
XmlHttp.js 4KB
共 11 条
- 1
资源评论
- iammkz2011-11-30是2010年的。还可以用
mclock
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功