因DWS内核目前支持的线程数很少,个人门户首页打开后,如果并发请求加载的模块数过多,很容易导致DWS崩溃,故而给之前写的AJAX类加了个顺序请求的方法:run(arr,obj)
实现了以下功能:
>> 自动延时顺序提交Ajax请求
>> 可指定:两次请求之间的延时毫秒数(默认为100毫秒,最小间隔为5毫秒)
>> 可指定:在请求过程中出错时,是否忽略错误转入下一请求序列(默认为忽略错误执行下一请求)
>> 可指定:顺序请求过程中,是否触发"onloadding"处理函数
>> 可指定: Ajax提交方式(默认为:get)
>> 可定义: 整个系列请求完成后回调处理函数
代码如下:
run :function(a,o){//Ajax Run Seral Request, last update:2007-12-3 11:41
/*
@arr: Array型,必选,AJAX提交队列,二维数组,格式:
[["/lfw/dwsFw/example/class/AJAX/getNowTime.asp?id=11",testFunc],
["/lfw/dwsFw/example/class/AJAX/getNowTime.aspx?id=12",testFunc],
["/lfw/dwsFw/example/class/AJAX/getNowTime.asp?id=12",testFunc],
["/lfw/dwsFw/example/class/AJAX/getNowTime.asp?id=13",testFunc]]
@obj : Object型,请示参数配置,可选,该参数具备以下属性
@obj.method: String型,AJAX提交方式,可选,取值如下:
(1)"GET" : get method, default
(2)"POST" : post method
(3)"SUBMIT" : submit form, 待完善中...
@obj.speed: Number型,延时毫秒数,可选
默认值: 100
最低值: 5
@obj.stop: 布尔型,可选,取值:
(1)true : On Error Stop
(2)false : On Error Resume Next, default
@obj.onload: 布尔型,是否显示"is onloading"提示,可选,取值:
(1)true : Show Loadding MSG, default
(2)false : not Show Loadding MSG
@obj.onend : Function型,队列处理请求完毕后的回调函数,可选
*/
var self=this,W=window,ST="setTimeout",F=false,T=true,S="speed",X="POST",Y="GET",Z="method",L="length",O="object";
var c,m=Y,f,g=F,l=T,t=100,u;
if (a[L]>0){
c=a.shift();//Only for 5.5
if (typeof(o)==O){
t = o[S]?parseInt(o[S]):t;
t = t>5 ? t : 100;
m = o[Z]?o[Z].toUpperCase()==X?X:Y:Y;
g = o.stop?T:F;
l = !o.onload?F:T;
}
if (typeof(c)==O && c[L]>1){
u=c[0],f=self.func(c[1]);
u=u.split("?");
self.load(u[0],u[1],function(s,b,u){
if (b!="1.0"){
f(s,b,u);
if (b=="4.200" || !g){
W[ST](function(){self.run(a,o);},t);
}
} else {
l?f(s,b,u):"";
}
},m);
} else {
if (!g){
W[ST](function(){self.run(a,o);},t);
}
}
} else {
if (o.onend && typeof(o.onend)=="function"){
o.onend();
} else {
//alert("运行完成");
}
}
}
用法举例:
<ol id="testAjax">
<li id="testAjax_0">数据更新中,请稍候...</li>
<li id="testAjax_1"></li>
<li id="testAjax_2"></li>
<li id="testAjax_3"></li>
<li id="testAjax_4"></li>
<li id="testAjax_5"></li>
</ol>
---------------------------------------------------------------------------------
var arrTemp = [];
for (var ii=0; ii<10;ii++) {
arrTemp[arrTemp.length]=["/lfw/dwsFw/example/class/AJAX/getNowTime.asp?id="+ii,"testAjax_"+((ii%5)+1)+""];
}
DWS.PCN.AJAX.run(arrTemp,
{ speed:1000,
onend:function(){
//alert("全部加载完毕!");
$DOM().$("testAjax_0").innerHTML = "数据更新完毕!";
}
}
);
var testFunc = function(s,b,x){alert("TEXT:\n"+s+"\n\nURL:\n"+x+"");};
DWS.PCN.AJAX.run([
["/lfw/dwsFw/example/class/AJAX/getNowTime.asp?id=11",testFunc],
["/lfw/dwsFw/example/class/AJAX/getNowTime.aspx?id=12",testFunc],
["/lfw/dwsFw/example/class/AJAX/getNowTime.asp?id=12",testFunc],
["/lfw/dwsFw/example/class/AJAX/getNowTime.asp?id=13",testFunc]
],
{ speed:1000,
stop:false,
method:"get",
onload:false,
onend:function(){alert("全部加载完毕!");}
}
);
标签:url,请求,ajax
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
asp中日期时间函数介绍
2013-06-01 20:01:03
如何获知文件被改动的情况?
2009-11-24 20:42:00
ASP:一个网站空间多个域名访问
2008-11-21 17:03:00
清除浮动新说
2009-12-25 18:49:00
![](https://img.aspxhome.com/file/UploadPic/20101/11/overflow-type-58s.png)
一个不错的javascript加密解密算法源码
2010-03-28 13:12:00
asp如何设置cookie的过期时间
2008-02-29 13:36:00
Linux安装卸载Mysql数据库
2011-01-29 16:45:00
![](https://img.aspxhome.com/file/UploadPic/20111/29/2011129165230857s.jpg)
jQuery代码的14条改善技巧[译]
2009-12-02 10:02:00
![](https://img.aspxhome.com/file/UploadPic/200912/2/01-56s.jpg)
SQL Server 压缩日志及数据库文件大小
2009-05-13 10:29:00
css学习笔记: css新闻列表的特殊做法
2009-07-19 14:25:00
![](https://img.aspxhome.com/file/UploadPic/20097/19/11e89610908g215-71s.jpg)
有序列表 li ol
2008-07-30 12:31:00
WEB2.0网页制作标准教程(5)head区的其他设置
2007-11-13 13:28:00
讲解MySQL数据库的数据类型和建库策略
2008-12-17 14:39:00
JavaScript 中为 Date 类实现 DateAdd 方法
2008-04-03 16:19:00
用好FrontPage2003的九大功能
2008-02-21 14:29:00
![](https://img.aspxhome.com/file/UploadPic/20082/21/2008221143234106s.jpg)
发散后的期望
2008-07-31 18:32:00
解决大字段在Form中Post出错的方法
2008-04-17 14:00:00
MYSQL数据库常用命令集合
2009-02-26 16:01:00
胜过语言的图形符号
2009-05-06 12:43:00
![](https://img.aspxhome.com/file/UploadPic/20095/6/2009-05-03_001747-150x137-79s.png)
10点优化sql数据库技巧
2008-06-09 15:00:00