[問題] ie和firefox遇到空白資料時的差異(CGI程式)
我寫了一個程式是網頁會不斷透過CGI來更新表個內的資料
在CGI程式內
// XML data within tags
for(i=0;i<8;i++)
{ // status
printf("<status>%d</status>\r\n", pIO->Status[i]? "Error":" ");
}
然後在網頁裡面建立一個表個來讀取這些資料
讀取的程式碼如下
function UpdateTbl()
{ var xDoc;
var i;
// check http status
if (m_Http.readyState != 4) return;
if (m_Http.status != 200) return;
// set table contents with XML data
xDoc = m_Http.responseXML;
for(i=0;i<8;i++){
document.getElementById('xTable').rows[i].cells[1].innerHTML=
xDoc.getElementsByTagName("status").item(i).firstChild.data;
}
}
當status是Error時,八個值都能正確顯示(in IE)
但是如果遇到某個status是空白時,IE就會當在那個地方停住了
可是firefox卻都OK,
我有試過在CGI內如果是直接把1 or 0直接放到陣列裡面而不是ERROR表示
那IE跟FF上的表格都能正確SHOW出資料
請問這是有哪邊要做修改嗎?
附上網頁上的javascript
// For Microsoft IE
if (window.ActiveXObject)
{ try { m_Http= new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e)
{ try { m_Http= new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e)
alert('Error: IE ActiveXObject');
}
}
// For Mozilla, Safari,...
else if (window.XMLHttpRequest)
{ m_Http= new XMLHttpRequest();
if (m_Http.overrideMimeType)
m_Http.overrideMimeType('text/xml');
}
if (!m_Http)
{ alert('Error: Cannot create an XMLHTTP instance');
return false;
}
m_Http.onreadystatechange = UpdateTbl;
m_Http.open('GET', m_Url, true);
m_Http.send(null);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.152.131