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前端分批加载
做一个分页,数据不一次性取完