javascript - 如何不断的请求同一个API?
PHPz
PHPz 2017-04-11 08:57:48
[JavaScript讨论组]

我现在有个进度条需要API返回的数据,每个请求建立在上个请求完成之后,这个请求的JS该如何写?

PHPz
PHPz

学习是最好的投资!

全部回复(3)
天蓬老师

你可以用递归的方法来获取就可以了:下面是用ajax来做的实例

function getData(){
    $.get('a.html?a=33',function(ret){
        if(ret){   //这里的ret可以对ret返回数据的内容做出判断,只要某个条件符合,就终止继续请求
            getData();    //返回数据后再次获取
        }else{
            alert('响应超时');
        }
    })
}

另外一个就是可以用轮询操作了

ringa_lee

写个递归不停调用?进度完成后再停止?感觉是这样吧

PHP中文网

好久没有写过jquery ajax,不知道写对了没

function progress(maxTry) {
    var tryTimes = 0;
  
    function fetchData() {
    $.ajax({
      method: "GET",
      url: "some/api/request",
      data: { some: 'api data'},
      complete: function(response) {
         if(response.data)    // if you are satisfied with response, stop looping API
             return;
         else {
            updateProgressBar();
            fetchData();
         }   
      },
      error: function() {
        if(tryTimes > maxTry) {
          // anything else you want to do when failed
          return;
        } else {
            fetchData();
          tryTimes ++;
        }
      }
    })
  }
  
  fetchData();
}

progress(5);



  
  
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号