使用AJAX进行CFWheels分页

时间:2012-11-19 20:00:53

标签: ajax coldfusion pagination cfwheels

我搜索了整个互联网,所有这些都找不到答案。

我正在使用ColdFusion CFWheels框架来查询数据库。查询是通过AJAX完成的,如下所示:

var id = $("#ship-id").val();

$.ajax({
    type: "POST",
    url: "/my-controller/my-method?format=json",
    data: {shipId: id},
    dataType: "json",
    success: function(response) {

        var resultHtml = '';

        $.each(response, function(i, value) {
            resultHtml += '<tr><td>' + value.FIRSTNAME + ' ' + value.LASTNAME + '</td></tr>';
        });

        $("#my-table").html(resultHtml);
    }
});

我需要对结果集进行分页。在CFWheels中,您通常通过在查询中设置句柄,页面,perPage和订单值来执行此操作,如下所示:

var order = model("order").findAll(
    select="id, firstname, lastname, email",
    where="orderid IN (#ValueList(orders.id)#)",
    handle="ordersQuery",
    page=params.page, 
    perPage=5, 
    order="lastname"
);

然后你只需将这一行放在你的视图中:

<cfoutput>#paginationLinks(handle="ordersQuery")#</cfoutput>

但是......你怎么能用AJAX调用分页?

1 个答案:

答案 0 :(得分:1)

我认为这些内容可能是您的答案(请注意我删除了url并将这些参数添加到data ...

  $.ajax({
    type: "POST",
    data: {
        shipId: id,
        controller: myController,
        action: myAction,
        page: params.page,
    },
    dataType: "json",
    success: function(response) {

        var resultHtml = '';

        $.each(response, function(i, value) {
            resultHtml += '<tr><td>' + value.FIRSTNAME + ' ' + value.LASTNAME + '</td></tr>';
        });

        $("#my-table").html(resultHtml);
    }
  });