尝试将字典作为jsonresult返回,字典中的元素数量> 3.6K; 我的代码:
$('#go').click(function () {
$("#content").empty().html('<img src="Content/loading.gif" style="top:100px;left:100px;"/>');
$.ajax({
type: 'POST',
url: '<%= Url.Action("LoadContent","Home") %>',
async: true,
data: {
block: $('input[name=block]:checked').attr('value'),
type: $('input[name=type]:checked').attr('value'),
begin: $('#begindate').attr('value') + " " + $('#begintime').attr('value'),
end: $('#enddate').attr('value') + " " + $('#endtime').attr('value')
},
dataType: 'json',
success: function (response) {
alert(response);
$.plot($("#content"), repsonse);
}
});
});
和服务器端:
public JsonResult LoadContent(string block,string type,string begin,string end) {
List<FinalResult> result = Core.LetThePartyBegin(DateTime.Parse(begin), DateTime.Parse(end), block);
Dictionary<DateTime, double> returnValue = new Dictionary<DateTime, double>();
result.ForEach(p =>
p.Result.ForEach(q => returnValue.Add(p.Datetime + new TimeSpan(0, 0, q.Number), q.W)));
return Json(returnValue);
}
所以,Json(returnValue)包含3600个值,我收到错误500内部服务器错误; 如果我设置Json(returnValue.Take(100))它的工作原理。 是否对jsonresult的大小有任何限制?
答案 0 :(得分:1)
ajax响应的最大大小。 (我不确定,但我认为这是4M)
也许您的预期回复可能会超过此最大值。这也可以解释当您返回小于最大大小的子集时它的工作原理。
检查详细的错误消息
答案 1 :(得分:0)
其中一个日期未解析。你确定它们都有效吗?