日期:2014-05-16  浏览次数:20607 次

我自己编写的AJAX请求函数
	//根据URL获取文件名,可作为每页的唯一标识
	window.hbh.getUrlName=function(url){		
		var wz1=url.lastIndexOf("/");
		var wz2=url.lastIndexOf(".");
		return url.substring(wz1+1,wz2);
	}
	//AJAX异步请求,将内容中的JS写在HEAD中,使JS内容生效,将剩下的HTML代码返回
	window.hbh.ajax=function(url,callback){
		var xmlhttp;
		if (window.XMLHttpRequest){
			xmlhttp=new XMLHttpRequest();
		}else{
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		xmlhttp.onreadystatechange=function(){
			if (xmlhttp.readyState==4 && xmlhttp.status==200){
				var data=xmlhttp.responseText;
				var htmlCode=data.replace(/<script[^>]*>([\s\S]*?)<\/script>/mgi,"");
				callback(htmlCode);				
				if(htmlCode!=data){
					var dialogId=hbh.getUrlName(url);
					if(!document.getElementById(dialogId+"Js")){
						var script=document.createElement("script");
						script.type='text/javascript';
						script.id=dialogId+"Js";
						script.text=data.replace(/[\s\S]*?<script[^>]*>([\s\S]*?)<\/script>[\s\S]*?/mgi,"$1");
						document.getElementsByTagName('head')[0].appendChild(script);
					}
				}				
			}
		}		
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}

?