javascript - 需要一个延迟函数javascript

标签 javascript xmlhttprequest

您好,我目前正在发出 xmhhttp 请求,但该网站需要一些时间来加载,所以我只得到 ReadyState = 3 和 status = 200。所以我需要一些东西来等待 readystate = 4,但我想限制如果 readystate = 4,此函数仅每秒检查一次,否则什么都不做。

这样的延迟函数长什么样子?

   if (xmlhttp.readyState==4 && xmlhttp.status==200)//Add the delay here so that the else doesn't occur
    {
    var txt=xmlhttp.responseText;
    .....
  else {

    document.write("status: " + xmlhttp.readyState + " " + xmlhttp.status);
  }

最佳答案

你为什么要发明轮子?

您应该只将处理程序传递给 XHRs onreadystatechange 回调。

xmlhttp.onreadystatechange = function() {
     switch( xmlhttp.readyState ) {
          case 4: {
              if (xmlhttp.status === 200) {
                  var txt = xmlhttp.responseText; // or do something else here
              }
              break;
          }
          case 3: {
              // go interactive !
              break;
          }
     }
};

关于javascript - 需要一个延迟函数javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4864471/

相关文章:

javascript - Jquery ui 如何选择那些启用的选项卡?

javascript - jQuery Javascript 图像放大镜

AngularJS 在 POST 上从 https 请求 http

javascript - 从jsp加载servlet并尝试传递多个参数

php - html 表单输入 DOM 引用的意外输出

javascript - 图表在 # 个链接期间消失

javascript - 无法使用 jquery 验证表单

php - 通过 javascript 重定向 html 传递 php 变量?

javascript - Adobe AIR 和多个 XMLHttpRequest ……很奇怪

php - 在 phalcon 框架中的 xmlhttprequest 情况下如何禁用渲染布局?