wangshanger7743回复于18日12点34分
这个楼主要自己学了,分成多个加载步骤,用Ajax来加载,注意如果要同时加载,不要用同一个对象,考虑用Ajax程序池Ajax应用程序池,参考下
JScript code if(typeof(XMLHttpRequest)=="undefined") window.XMLHttpRequest=function(){//========IE下的XMLHttpRequst var acX=['msxml2.xmlhttp.5.0','msxml2.xmlhttp.4.0','msxml2.xmlhttp.3.0' ,'msxml2.xmlhttp','microsoft.xmlhttp'],Xhr; for(var i=0;i<acX.length;i++) try{Xhr=new ActiveXObject(acX[i]);return Xhr;}catch(e){} return false; } AjaxPool={ author:'showbo', pools:[], getObject:function(){ for(var i=0;i<this.pools.length;i++)if(this.pools[i].readyState==0||this.pools[i].readyState==4)return this.pools[i]; this.pools[this.pools.length]=new XMLHttpRequest(); return this.pools[this.pools.length-1]; }, send:function(cfg){/*cfg示例: {url:'请求的页面',params:'参数',method:'方法,如果不传递默认为get' ,success:'成功时的回调函数' ,failure:'失败时的回调函数',otherParams:'回调函数的第2个参数,可以为json对象'}*/ if(!cfg.url)throw("url不正确!"); var method=cfg.method,asy="boolean"==typeof(cfg.asy)?cfg.asy:true; if(!method)method="get"; if(method.toLocaleLowerCase()=='get'){ var _dc=new Date().toLocaleString().replace(/[年月日: -]/g,'') cfg.params=cfg.params?cfg.params+'&_dc='+_dc:'_dc='+_dc; if(cfg.url.indexOf("?")!=-1)cfg.url+="&"+cfg.params; else cfg.url+="?"+cfg.params; cfg.params=null; } else if(!cfg.params)cfg.params=null; var o=this.getObject(); if(!o)throw("未能创建ajax对象!"); o.open(method,cfg.url,asy); if(method.toLocaleLowerCase()=='post')o.setRequestHeader("content-type","application/x-www-form-urlencoded"); o.send(cfg.params);//params是键值对,而不是json对象,注意..如“id=1&type=2”此种形式 o.onreadystatechange=function(){ if(o.readyState==4){ if(o.status==200||o.status==0){ if("function"==typeof(cfg.success))cfg.success(o,cfg.otherParams); } else if("function"==typeof(cfg.failure))cfg.failure(o,cfg.otherParams); } } } }