javascript - 在 ajax json 中合并分页

标签 javascript ajax

我有一个 ajax json 在 div 中检索所有查询结果。不过我不确定如何引入分页。

<script>
        $(document).ready(function () {
            var hdnIds = document.getElementById('<%= HiddenField1.ClientID %>').value;

            $.ajax({
                type: "POST",
                url: "WebService1.asmx/GetEmployees",
                data: "{userid: " + JSON.stringify(hdnIds) + " }",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (list) {
                    $("#Something").append("<ul id='bullets' class='ul1'></ul>");
                    for (i = 0; i < list.d.length; i++) {
                        $("#bullets").append("<li class='li1'>"
                            + "<div style='float:left; width:20%'>"
                            + "<img  id='image' src='Handler3.ashx?id=" + list.d[i].id + "' />"
                            + "<p style='margin-left:2px; position:relative;color:DodgerBlue;font-size:small; font-style:bold'>" + list.d[i].UserName + "</p>"
                            + "<p style='margin-left:2px; position:relative;color:DodgerBlue;font-size:small'>" + list.d[i].Created_on + "</p>"
                            + "</div>"
                            + "<div style='float:left; width:80%'>"
                            + "<p class='p11'>" + list.d[i].Statusmes + "</p>"
                            + "</div>"                        
                            + "</li>");
                    } 
                },
                error: function (e) {
                    $("#Something").html("There was an error retrieving records");
                }
            });
        });
    </script>

和 html 一样

 <div id="Something"></div>

任何帮助将不胜感激!

最佳答案

首先,我会阅读 javascript 模板。有很多库可以让您从 JS 代码中删除臃肿的 html 代码,从而更易于管理。像这样:https://github.com/BorisMoore/jquery-tmpl .

之后,您应该将分页的责任放在服务器端,让 JS/Ajax 处理检索数据集的调用。例如:

//server side
var start = request.params.start //retrieve start index for data set
var limit = request.params.limit //retrieve max number of data set size

return db.Model.find({start: start, limit: limit, ...})


//client side JS/Ajax

//load first page 0-9
$.ajax({
  url: '/my/data/url',
  params: {
    start: 0, //start at first record in db
    limit: 10 //only return 10 results
  }
}).success(function(data) {
   //render data set using template
   $.template('#my-data-template', data).renderTo('#someDiv');
});

//load second page 10-19
$.ajax({
  url: '/my/data/url',
  params: {
    start: 10, //start at nth record in db
    limit: 10 //only return 10 results
  }
}).success(function(data) {
   //render data set using template
   $.template('#my-data-template', data).renderTo('#someDiv');
});

关于javascript - 在 ajax json 中合并分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28528144/

相关文章:

javascript - 如何使我的函数在全局范围内可见

javascript - 使局部函数成为全局函数

javascript - React Stepzilla 中的 React 路由器

javascript - 如何在 JavaScript 中 stub 库函数

javascript - 如何在没有客户端脚本的情况下完全折叠和更改网站内容?

javascript - 让 ajax 获取 html 或获取 JSON 并让 javascript 创建 html 是否更有效

javascript - 正斜杠 ('/' )在追加时未创建 - jQuery

jquery - 为什么 $.post 方法在 IE 中不起作用?

ajax - 使用HandleError属性类处理Http和Ajax请求的错误

javascript - 如何防止用户在发出ajax请求时与页面交互