繁体   English   中英

等待 XHR 请求返回 200 并循环

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM