[英]Wait for XHR request to return 200 and loop
这是我在此的头一篇博文。 我一直在写一个聊天脚本有一段时间了,但我遇到了一个问题。 当我使用我的原始代码时,浏览器会冻结,因为它仍在尝试加载。 我几乎尝试了一切。 我有点难过,因为我有一个想法将 function 来回克隆到 go 并且它仍然无法正常工作。 这是我正在使用的一个片段。
function jumpanti(){
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari, SeaMonkey
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("chatContent").innerHTML = xmlhttp.responseText;
antifreeze();
}
}
xmlhttp.open("GET", "innerchat.php", false);
xmlhttp.send();
twemoji.parse(document.body);
// Twemoji parse
}
function antifreeze(){
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari, SeaMonkey
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("chatContent").innerHTML = xmlhttp.responseText;
jumpanti();
}
}
xmlhttp.open("GET", "innerchat.php", false);
xmlhttp.send();
twemoji.parse(document.body);
// Twemoji parse
}
我试过了,还是不行。 我想要我的代码做的是尝试加载聊天,直到它得到 200 响应然后循环。 有没有人只使用 XHR 对此有任何解决方案?
我解决了这个问题。 问题是我没有在 function 内部打开异步 XML。 它冻结了页面很多。 我改变了xmlhttp.open("GET", "innerchat.php", false);
到xmlhttp.open("GET", "innerchat.php", true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.