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 + -
显示快捷键?