ajax分批mysql_ajax分批次读取后台数据 解决返回json太长报错的问题
ajax分批次读取后台数据ajax读取后台时如果返回的json字符串过长,就会报错:“字符串的长度超过了为maxJsonLength属性设置的值”,解决办法是:分批次读取后台数据maxJsonLength超过设置的值思路:先读取要返回数据的总条数,每次读取100条,根据总条数除以100来确定需要读取几次js代码://获取总记录数var dataCon = 0;//要读取的次数var dataVa.
ajax分批次读取后台数据ajax读取后台时如果返回的json字符串过长,就会报错:“字符串的长度超过了为
maxJsonLength
属性设置的值”,解决办法是:分批次读取后台数据maxJsonLength超过设置的值
思路:先读取要返回数据的总条数,每次读取100条,根据总条数除以100来确定需要读取几次
js代码:
//获取总记录数
var dataCon = 0; //要读取的次数
var dataVal = ""; //总数据的集合
function getS2Con()
{
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url:
"/Addin/OydSoftServices/SystemCalendarManagementWebservice.asmx/getS2Con",
data: '{ "s2003": "' + s2003 + '","s2004": "' + s2004 + '","s2005":
"' + s2005 + '","s2006": "' + s2006 + '","s2007": "' + s2007 +
'","s2008": "' + s2008 + '","s2009": "' + s2009 + '","s2010": "' +
s2010 + '"}',
async: false,
success: function (data) {
var con = eval_r('(' + data.d + ')');
if (con % 100 > 0) //总条数大于100条 最少执行两次
dataCon = parseInt(con / 100) + 1;
else //总条数小于100条 执行一次
dataCon = parseInt(con / 100);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
;
}
});
if (dataCon > 0)
{
for (var i = 0; i < dataCon; i++)
{
var index = i.toString();
PiCiGetS2(index);
}
}
}
//分批次读取s2数据
function PiCiGetS2(index)
{
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
url:
"/Addin/OydSoftServices/SystemCalendarManagementWebservice.asmx/PiCiGetS2Data",
data: '{ "index": "' + index + '","s2003": "' + s2003 + '","s2004":
"' + s2004 + '","s2005": "' + s2005 + '","s2006": "' + s2006 +
'","s2007": "' + s2007 + '","s2008": "' + s2008 + '","s2009": "' +
s2009 + '","s2010": "' + s2010 + '"}',
async: false,
success: function (data) {
//每获取一次就用字符串将他们拼接到一次
var h = data.d;
if (index == "0")
dataVal = h.substr(h.indexOf("[") + 1, h.lastIndexOf(',') -
10)
else
dataVal
= dataVal + "," + h.substr(h.indexOf("[") + 1, h.lastIndexOf(',') -
10);
if (parseInt(index) == dataCon - 1) {
dataVal = "{ Rows: [" + dataVal + "], Total: 1 }";
CustomersData = eval_r('(' + dataVal + ')')
}
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
;
}
});
}
后台代码:
public DataTable PiCiGetS2Data(string index,
string s2003, string s2004, string s2005, string s2006, string
s2007, string s2008, string s2009, string s2010)
{
string sql = @"";
if (index == "0" || string.IsNullOrEmpty(index))
{sql = @"SELECT TOP 100 * FROM dbo.S2";}
else
{
string rowIndex =
(Convert.ToInt32(index) * 100).ToString();
sql = @"SELECT TOP 100 * FROM s2 WHERE S2001>
(SELECT MAX(S2001) FROM
(SELECT TOP " + rowIndex + "
S2001 FROM dbo.s2 ORDER BY S2001) AS b ) ORDER BY
S2001";
}
DataTable dt = SQLHelper.Fill(SQLHelper.GHRDBConnectionString,
CommandType.Text, sql, null);
return dt;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)