【问题标题】:Ajax call and countdown timerAjax 调用和倒计时
【发布时间】:2014-08-11 05:36:35
【问题描述】:

我有一个如下所示的 AJAX 调用,我想要一个倒数计时器(没有真正的视觉效果,只是一个计数器),它用它从一个数字倒数到零,然后启动 AJAX 并等待 直到 AJAX 完成,然后再次倒计时……永远。

原来是这样的:

  *    ---------    5 4 3 2 1 0    *    ---------    5 4 3 2 1
  |         |            |         |         |           |
ajax      wait         count      ajax      wait       count 

是否可以用 JavaScript 和 jQuery 做到这一点?我不是在寻找任何插件。

var request = $.ajax({
            url: "/rhino",
            type: "GET",
            dataType: "json"
        });

        request.done(function (data) {
            console.log("success");;
        });

        request.error(function (data) {
            console.log("failed");
        });

【问题讨论】:

  • 我会在 web 方法中调用,在 windows 服务中调用计时器。每次计时器结束时,服务都会使用 Web 方法。
  • @Dura,我实际上正在寻找客户端解决方案。这就是我提到 JS 和 jQuery 的原因。但是感谢您的评论。

标签: javascript jquery ajax countdowntimer


【解决方案1】:

这样的事情应该可以正常工作。启动初始超时,然后在收到响应时设置超时。

var requeue = function() {
  setTimeout(performRequest, 1000);
};

var performRequest = function() {
  var request = $.ajax({
      url: "/rhino",
      type: "GET",
      dataType: "json"
  });

  request.done(function (data) {
      console.log("success", data);
      requeue();
  });

  request.error(function (data) {
      console.log("failed");
      requeue();
  });
};

requeue();

working plunker

【讨论】:

  • 只有在网页运行时才有效吗?我认为问题是关于自动化呼叫。
猜你喜欢
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
相关资源
最近更新 更多