我正在处理一段旧的 Ajax 代码,它在 IE 上运行良好(即我得到了正确的 XML 响应),但在 Chrome 中,我得到了空 XML 响应(实际上 responseText 也是空白的)。当我用 Chrome 调试问题时,我意识到当 reqAJAX.readyState == 3 时,我看到一些 XML 响应,一旦 reqAJAX.readyState 等于 4,它就会被取消。
这是代码片段:
function jsAJAX(strRequestType, strRequestParams) {
if (window.XMLHttpRequest) {
reqAJAX = new XMLHttpRequest();
} else if (window.ActiveXObject) {
reqAJAX = new ActiveXObject("Microsoft.XMLHTTP");
}
reqAJAX.onreadystatechange = jsData;
reqAJAX.open("POST", "../AnnouncementData.aspx", true);
reqAJAX.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var reqAJAXParams = "AjaxReqData=ab%7CIBM";
reqAJAX.send(reqAJAXParams);
}
function jsData() {
if (reqAJAX.readyState == 4) {
if (reqAJAX.status == 200) {
var rspDoc = reqAJAX.responseXML.documentElement;
alert(rspDoc);
}
}
}