Javascript AJAX结果的客户端分页(jQuery)

Javascript AJAX结果的客户端分页(jQuery),javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,好的,首先,我的问题通常是关于AJAX中的分页,我需要分割AJAX返回的html,我不希望我的搜索结果页面被数千个返回的html列表所附加,所以我需要将其分割成若干部分 我得到了以下Ajax代码: $.ajax({ url: "getflightlist.php?parameter=parameter", type: "GET", dataType: "html", success: function(data, textStatus, jqXHR) {

好的,首先,我的问题通常是关于AJAX中的分页,我需要分割AJAX返回的html,我不希望我的搜索结果页面被数千个返回的html列表所附加,所以我需要将其分割成若干部分

我得到了以下Ajax代码:

$.ajax({
    url: "getflightlist.php?parameter=parameter",
    type: "GET",
    dataType: "html",
    success: function(data, textStatus, jqXHR)
    {
        tjq("#flightlisting").append(data)             
    },
    error: function (jqXHR, textStatus, errorThrown)
    {
        alert(textStatus)
    }
});
它将一些html返回到我的#flightlisting中,如下所示:

<article id="flight1" class="list"></article>
<article id="flight2" class="list"></article>
<article id="flight3" class="list"></article>
<article id="flight4" class="list"></article>
<article id="floght5" class="list"></article>

我的问题是如何仅获取前3个ID(flight1、flight2、flight3),当我单击某个触发器时,它将继续返回其余2个ID(flight4和flight5)


我知道我应该修改getflightlist.php以逐段返回,但在这种情况下我不能。请提供帮助,任何链接或建议更好的方法都将不胜感激。

在完成ajax调用后,您可以将数据添加到变量中,并在用户单击按钮时使用jQuery将适当的文章导入容器,而不是立即追加数据

因此,改变ajax调用并添加一个单独的函数来添加文章-

var articles;

var pageNum = 0;

function nextPage() {
    $("#flightlisting").empty();
    var maxArticlesPerPage = 3;
    var firstArticle = maxArticlesPerPage * pageNum;
    var currentArticle = firstArticle;
    var $articles = $($(articles), "article");
    var i = 0;
    while(currentArticle < $articles.length && i < maxArticlesPerPage) {
        $("#flightlisting").append($articles.eq(currentArticle));
        i++;
        currentArticle++;
    }
        pageNum++;
}

$.ajax({
    url: "getflightlist.php?parameter=parameter",
    type: "GET",
    dataType: "html",
    success: function(data, textStatus, jqXHR)
    {
        articles = data;
        nextPage();
    },
    error: function (jqXHR, textStatus, errorThrown)
    {
        alert(textStatus);
    }
});
var条款;
var pageNum=0;
函数下一页(){
$(“#flightlisting”).empty();
var maxArticlesPerPage=3;
var firstArticle=maxArticlesPerPage*pageNum;
var currentArticle=第一篇文章;
var$条款=$($(条款),“条款”);
var i=0;
而(currentArticle<$articles.length&&i
然后让按钮调用
nextPage()
函数。当然,当你到达列表的末尾时,你需要禁用你的按钮


请参见此处。

如果不是在PHP中,您能否更改返回的HTML结构?如果可以的话,我可以建议您使用带有选择器的jquery load方法,它将为您提供所需的片段,而不是enitrehtml@Kalish你是说像getflight.html#fragment这样的东西吗?我的html返回完全是我上面提到的,没有,等等。只有s元素。因此它不会返回整个html页面,我知道这与。each()…但没有ideaBINGO…这正是我需要的@John-c…谢谢!没问题,很乐意帮忙!