我有一个第一次在 IE 中工作的 loadXML() 函数。XML 数据作为节点列表存储到用于首先填充表的全局变量中。稍后根据用户输入对其进行验证。该表已填充,但稍后当用户单击按钮进行验证时,全局变量神秘地为空。
我知道这可能是由于 XMLHttpRequest 的异步特性。如何将节点列表存储到永久全局变量中?
function loadXml(ws)
{
xml = new XMLHttpRequest();
xml.onreadystatechange = function ()
{
if (xml.readyState == 4 && xml.status == 200)
{
xmlDoc = xml.responseXML;
xmlAns = "";
x = xmlDoc.getElementsByTagName("question");
populate();
}
}
xml.open("GET", "xml/" + ws + ".xml", true);
xml.send();
}