javascript - IE 中的 Ajax 异步 - 错误 "The Data Necessary to Complete This Operation is Not Yet Available"

标签 javascript ajax internet-explorer asynchronous xmlhttprequest

我有一个用 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/

相关文章:

javascript - 在工作时间显示/隐藏 div,与 UTC 混合?

javascript - Jquery:选项卡式菜单导航,根据所选菜单激活和停用

javascript - Sweetalert2 的多种输入类型

ruby-on-rails - 如何将 Rails respond_with 与创建操作和 javascript 一起使用?

javascript - 如何签署 AWS API 请求?

jquery - jQuery 在 IE 中悬停的问题

javascript - Firefox 和 IE 中的图像源分配

php - 如何在codeigniter 4中使用ajax

javascript - jQuery IE 搞砸了

jquery - IE 尝试解析 JSON 时出错