如何在几秒钟后显示数据?

时间:2016-01-06 02:39:22

标签: jquery ajax timeout

我知道我不应该这样做,但我想为用户做更长的旋转器。因为目前Ajax请求太快,所以用户甚至无法看到微调器。

例如,至少有5个secondes,所以在这5秒后显示数据。

$.ajax({
  type: "POST",
  url: $('#AjaxMoreStatus').attr("data-url"),
  dataType: "HTML",
  beforeSend: function() {
    $('.spinner').show();
  },
  complete: function() {
    $('.spinner').hide();
  },
  success: function (data) {
    $('#AjaxMoreStatus').append(data);
  }
});

1 个答案:

答案 0 :(得分:0)

只需使用setTimeout伪造延误:

$.ajax({
  type: "POST",
  url: $('#AjaxMoreStatus').attr("data-url"),
  dataType: "HTML",
  beforeSend: function() {
    $('.spinner').show();
  },
  complete: function() {
    setTimeout(function () {
      $('.spinner').hide();
    }, 5000); // 5 seconds.
  },
  success: function (data) {
    $('#AjaxMoreStatus').append(data);
  }
});

如果您想延迟加载,也可以在success功能上使用它:

$.ajax({
  type: "POST",
  url: $('#AjaxMoreStatus').attr("data-url"),
  dataType: "HTML",
  beforeSend: function() {
    $('.spinner').show();
  },
  complete: function() {
    setTimeout(function () {
      $('.spinner').hide();
    }, 5000); // 5 seconds.
  },
  success: function (data) {
    setTimeout(function () {
      $('#AjaxMoreStatus').append(data);
    }, 5000); // 5 seconds.
  }
});