击中网址后的超时方法

时间:2013-12-03 13:43:09

标签: javascript ajax

我们有以下方法使用ajax调用URL。 目前,在点击网址后,我们正在使用响应。 所以我们想为reposne设置一个超时。所以当我们调用url如果响应没有在2秒之后出现然后调用另一个方法并且如果resp在两秒内调用其他mehtod。 我们已尝试使用超时,但无法使用代码。

  function ajaxCall(url1) {
      var ajaxresp = null;
      var xmlhttp;
      if (window.XMLHttpRequest) {
          xmlhttp = new XMLHttpRequest();
      } else {
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.open("GET", url1, true);
      xmlhttp.send();
      xmlhttp.onreadystatechange = function () {
          if (xmlhttp.readyState == 4) {
              if (xmlhttp.status == 200) {
                  ajaxresp = xmlhttp.responseText;

                  //function call
                  getAdResponse(ajaxresp);
              }
          }
      }
  }

请告诉我如何继续。

1 个答案:

答案 0 :(得分:0)

像这样尝试smth

xmlhttp.open("GET",url1,true);

xmlhttp.onreadystatechange= function (){    
if (xmlhttp.readyState==4){     
    if (xmlhttp.status == 200){     
        ajaxresp = xmlhttp.responseText; 
    }
}
xmlhttp.send();
setTimeout(function() {
    if(ajaxresp) {
       dosmth(ajaxresp);
    } else {
       dosmthelse();
    }
}, 2000);