为了账号安全,请及时绑定邮箱和手机立即绑定

ajax从后台获取全部的数据之后,现在分次显示在页面上。

ajax从后台获取全部的数据之后,现在分次显示在页面上。

MMMHUHU 2019-02-14 18:15:06
使用ajax从后台获取到全部数据,要在页面分次显示, 之前是不断的调用ajax来分次显示,现在是在页面上做分次显示。                  $.ajax({                    type: "POST",                    url: "./ajaxAutoComplete.do",                    dataType:"json",                    data: "method=getCityList&countryCode="+countryCode+"&offset="+offsetDate+"&isPage=false",                    success: function(g_cityList){                        var sCityTable = [];                        var cityCodeArr = cityCodes.split(",");                            $("#cityBtn").select({                                dataType    : "cityName",                                dataArray   : g_cityList,                                dataCode    : cityCodeArr,                                checkboxText:$("#cityCode"),                            });                                            }                });                    success返回的是一个g_cityList数组,这个数据有几千条,怎么每次显示,比如一次显示1000条这个数据生成的页面是用js写的,后台返回的数据直接导入到js中生成页面。后端分页我已经完成,但是上司要求在前端分别。。
查看完整描述

2 回答

?
慕仙森

TA贡献1827条经验 获得超8个赞

为什么不做成分页的形式?一次性获取全部的数据,然后前端在进行数据类似分页的处理,这种做法其实是比较不好的。


查看完整回答
反对 回复 2019-02-25
?
守候你守候我

TA贡献1802条经验 获得超10个赞

这就是前端分页的问题,获取到数据后,然后渲染数据与页码


第1页展示: 0-999的数据

第2页展示: 1000-1999的数据

第3页展示: 2000-2999的数据

...


就是说第page页,展示data中的数据开始位置start是 (page-1)*1000, limit是1000 ,用户点击某个页码按钮时,则直接从data获取数据并渲染。


function render(page){

    let limit=1000,

        start=(page-1)*limit,

        html='';

        

    for(let i=start, i<start+limit; i++){

        html += datap[i];

    }

    $('.tt').html(html);

}


查看完整回答
反对 回复 2019-02-25
  • 2 回答
  • 0 关注
  • 907 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号