ajax返回的json太大,怎么处理


    


 public static string Dtb2Json(DataTable dtb)
          {
             JavaScriptSerializer jss = new JavaScriptSerializer();
              System.Collections.ArrayList dic = new System.Collections.ArrayList();
             foreach (DataRow dr in dtb.Rows)
             {
                 System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>();
                 foreach (DataColumn dc in dtb.Columns)
                 {
                     drow.Add(dc.ColumnName, dr[dc.ColumnName]);
                 }
                 dic.Add(drow);

             }
             //序列化  
             return jss.Serialize(dic);
         }

这样序列化出来的json太大,ajax获取后报错,只取少部分就能正常返回,请问怎么解决呢

太大,必须要进行分页的

var onpage=1;//记录当前页
       function Getdata() {
              
               $.ajax({
                   type: "POST",
                   url: "WebForm1.aspx/Getdata",
                   contentType: "application/json; charset=utf-8",
                   data: {'page':onpage}, //无参数
                   dataType : "json", //返回数据形式为json
                   success: function (result) {
                  onpage=onpage+1;//如果还没有结束。当前分页+1

可以进行分页展示,分页获取

分页,或者轮询

建议,
1业务做处理,减少不必要的传输。
2后端推送,不一次性加载,比如websocket
3前端分批加载

做一个分页,数据不一次性取完