ajax經常停在狀態3. 緊急求助!
如題, 以下是我的代碼(在某台電腦上出現的此問題)
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
var XmlHttpVersions = new Array("MSXML2.XMlHTTP.6.0",
"MSXML2.XMlHTTP.5.0",
"MSXML2.XMlHTTP.4.0",
"MSXML2.XMlHTTP.3.0",
"MSXML2.XMlHTTP",
"Microsoft.XMlHTTP");
for(var i=0;i<XmlHttpVersions.length && !xmlHttp;i++)
{
try
{
xmlHttp = new ActiveXObject(XmlHttpVersions);
}
catch (e) {}
}
}
if(!xmlHttp)
alert("Error crearing XMLHttpRequest");
else
return xmlHttp;
}
function CallServer_sn()
{
var js_ip=document.getElementById("ip").value;
var js_sn=document.getElementById("SN").value;
var js_station=document.getElementById("station").value;
var js_mo=document.getElementById("mo").value;
var js_qty=document.getElementById("qty").innerHTML;
var js_total=document.getElementById("total_qty").innerHTML;
var js_num=document.getElementById("total_num").innerHTML;
var js=Math.random();
if(js_qty==''){js_qty=0;}
if(js_total==''){js_total=0;}
if(js_num==''){js_num=0;}
if (js_sn!="")
{
var url ="do.php?station="+js_station+"&SN="+js_sn+"&mo="+js_mo+"&js_qty="+js_qty+"&js_total="+js_total+"&js_num="+js_num+"&js_ip="+js; //UTF-8下要用encodeURI
//alert(url)
setInterval('setTimeout("",200)',100);
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=handleRequestStateChange_name;
xmlHttp.send(null);
document.getElementById("SN").focus()
}else{
document.getElementById("SN").focus()
}
}
function handleRequestStateChange_name()
{
nameDiv = document.getElementById("result");
setTimeout("",50)
if(xmlHttp.readyState < 4)
{
//nameDiv.innerHTML = "loading..."+xmlHttp.readyState;
}else if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var res = xmlHttp.responML.getElementsByTagName("RES");
var sn = xmlHttp.responML.getElementsByTagName("sn");
var total = xmlHttp.responML.getElementsByTagName("total");
var qty = xmlHttp.responML.getElementsByTagName("qty");
var num = xmlHttp.responML.getElementsByTagName("num");
//document.getElementById("SN").value="";
if(res[0].childNodes[0].nodeValue=='OK'){
nameDiv.innerHTML='SN:'+sn[0].childNodes[0].nodeValue+' 結果:'+res[0].childNodes[0].nodeValue;
document.getElementById("total_num").innerHTML=num[0].childNodes[0].nodeValue;
document.getElementById("total_qty").innerHTML=total[0].childNodes[0].nodeValue;
document.getElementById("qty").innerHTML=qty[0].childNodes[0].nodeValue;
document.getElementById("phr").controls.play();
//nameDiv.innerHTML+=xmlHttp.responseTEXT
}else{
var mo = xmlHttp.responML.getElementsByTagName("mo");
var station = xmlHttp.responML.getElementsByTagName("station");
location.replace("error1.php?SN="+sn[0].childNodes[0].nodeValue+"&RES="+res[0].childNodes[0].nodeValue+"&mo="+mo[0].childNodes[0].nodeValue+"&station="+station[0].childNodes[0].nodeValue+"&num="+qty[0].childNodes[0].nodeValue)
}
}else{
alert("problrm" + e.toString());
}
}
}