我有一个用 Javascript 编写的 100% 有效的 Ajax 模型,其中包含一些我使用的输入,Get 或 Post 方法,与哪个页面通信,向该页面发送什么字符串以及我自己的页面上可能是什么元素当我收到回复时摆弄。 问题是,如果我将请求设置为异步(因此是 Ajax),IE 在 onreadystatechange 事件中返回错误“完成此操作所需的数据尚不可用”,我所做的只是检查 readystate 是否为 4 和状态为 200。错误不会出现在 Firefox 或 Chrome 中,因为 Ajax 是异步的。
这是 Post 方法的一个片段
xmlhttp.open("POST", commPage, true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
j = xmlhttp.responseText;
i.innerHTML = j;
}
}
xmlhttp.send(str);
编辑:我应该指出,在 IE 中,我使用的是 ActiveX 控件 -> Msxml2.XMLHTTP 或 Microsoft.XMLHTTP 或先返回 true 的那个。
最佳答案
哼哼
在 onreadystatechange 函数之外,我调用了 responsetext 来检查它是否存在,但显然如果它还不存在你就不能这样做,所以我只需要重组一些东西。一切正常,但这是导致问题的脚本
ajaxRequest(){
[...]
}
if(xmlhttp.responseText){
myFunc();
}
关于javascript - IE 中的 Ajax 异步 - 错误 "The Data Necessary to Complete This Operation is Not Yet Available",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/380014/