ajax_func.js

来自「Dm9000网络接口驱动大全」· JavaScript 代码 · 共 117 行

JS
117
字号

var http_request =GetXmlHttpObject();
var requestList = Array(10);
var listNow = 0;
function el(id)
{
	return document.getElementById(id).value;
}
function loadTemplate()
{
	send_request("GET",url_tp,null,"text",saveTemplate);
}
function saveTemplate()
{
	if (http_request.readyState==4 || http_request.readyState=="complete")
	{	
		Template=http_request.responseText;
		document.getElementById("all-frm").innerHTML="数据载入中......";
		loadData();
	}	
}
function loadData()
{
	send_request("GET",url_data,null,"xml",saveData);
}
function saveData()
{
	if (http_request.readyState==4 || http_request.readyState=="complete")
	{	
		Data=http_request.responseText;
		document.getElementById("all-frm").innerHTML="页面加载中......";
		setPage();
	}	
}
function setPage()
{
	var xml = xmlParse(Data);
	var xslt = xmlParse(Template);
	var html = xsltProcess(xml, xslt);
	document.getElementById("all-frm").innerHTML=html;
}
function GetXmlHttpObject()
{ 
	var objXmlHttp=null	
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP"
		} 
		try
		{ 
			objXmlHttp=new ActiveXObject(strName)
			return objXmlHttp
		} 
		catch(e)
		{ 
			alert("Error. Scripting for ActiveX might be disabled") 
			return 
		} 
	}
	else
	{
		objXmlHttp=new XMLHttpRequest()
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler 
		return objXmlHttp
	}
}
function send_request(method,url,sendData,responseType,callback)
{ 
	url+="&timeStamqp="+new Date().getTime();
	if (http_request.readyState!=0){
		//任务忙,插入队列	
		if (http_request.readyState==4)
		{
			http_request=GetXmlHttpObject();
		}
		else
		{
			add_list(method,url,sendData,responseType,callback);
			return;
		}
	}
	http_request.onreadystatechange=callback;
	http_request.open("GET", url , true);
	http_request.send(sendData);

}
function doNext()
{
	if(listNow!=0)
	{
		send_request(requestList[listNow][0],requestList[listNow][1],requestList[listNow][2],requestList[listNow][3],requestList[listNow][4]);
		listNow--;
	}
	return;
}
function add_list(method,url,sendData,responseType,callback)
{
	if(listNow<=10)
	{
		listNow++;
		requestList[listNow]=Array(5);
		requestList[listNow][0]=method;
		requestList[listNow][1]=url;
		requestList[listNow][2]=sendData;
		requestList[listNow][3]=responseType;
		requestList[listNow][4]=callback;
	}
	else
	{
		alert("队列任务超过10个,无法继续接受请求!");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?