即使没有更多记录,Javascript Ajax也会显示相同的消息

时间:2019-09-12 10:50:23

标签: javascript jquery html

我的javascript / ajax正常运行,但是当没有更多记录时,它显示的信息与有更多记录时一样。

我尝试移动代码,但是我无法成功。 需要您的帮助

<div id="results"></div>
<div id="loader_image"><img src="images/loader.gif" alt="" width="24" height="24"> Loading...please wait</div>
<div class="margin10"></div>
<div id="loader_message"></div>
var busy = false;
var limit = 5;
var offset = 0;

function displayRecords(lim, off) {
  $.ajax({
    type: "GET",
    async: false,
    url: "getresult.php",
    data: "limit=" + lim + "&offset=" + off,
    cache: false,
    beforeSend: function() {
$("#loader_message").html("").hide();
$('#loader_image').show();
    },
    success: function(html) {
$("#results").append(html);
$('#loader_image').hide();
if (html == "" || html == null) {
  $("#loader_message").html('<button class="btn btn-default" type="button">No more records.</button>').show();
} else {
              $("#loader_message").html('<button class="btn btn-default" type="button">Loading please wait...</button>').show();
}
window.busy = false;
    }
  });
}

$(document).ready(function() {
  if (busy == false) {
    busy = true;
    displayRecords(limit, offset);
  }

  $(window).scroll(function() {
    if ($(window).scrollTop() + $(window).height() > $("#results").height() && !busy) {
busy = true;
offset = limit + offset;
            displayRecords(limit, offset);
    }
  });

});

1 个答案:

答案 0 :(得分:-1)

在成功函数中尝试以下方法:

if(html !== null){
  $("#loader_message").html('<button class="btn btn-default" type="button">Loading 
  please wait...</button>').show();
  $("#results").append(html);
} else {
   $("#loader_message").html('<button class="btn btn-default" type="button">No more 
   records.</button>').show();
}