使用JSON请求时出现以下错误:
使用JSON进行序列化或反序列化时出错 JavaScriptSerializer。字符串的长度超过了设置的值 在maxJsonLength属性上。
这是jQuery代码:
//load partial view contain grid
$('#rptProductsRates').load('@Url.Action("ProductsRatesFlipPagination", "Reports")', { flipPagination: true }, function (data) {
if (data.toString().substr(0, 15) == "<!DOCTYPE html>") {
window.location = '@Url.Action("ProductsRates", "Reports")';
}
else {
debugger;
var resultError = data.toString().substr(0, 9);
if (resultError == "<!DOCTYPE") {
var exceptionURL='@Url.Content("~/Reports/Exception?controller=Reports&action=ProductsRates")';
window.location = exceptionURL;
//unblock the UI
$.unblockUI();
}
else {
$('#contentDiv').show();
//unblock the UI
$.unblockUI();
var bottomMarginFirst = (screen.height * .29)
var bottomMargin = (screen.height * .42)
if ($('.renderBody').height() <= ($(document).height() - bottomMarginFirst)) {
$('.renderBody').css({ 'height': ($(document).height() - bottomMargin + @System.Configuration.ConfigurationManager.AppSettings["GridHeight"] - 100) })
}
}
}
导致此错误的原因和可能的解决方案是什么?
答案 0 :(得分:0)
看起来你正在向一个ASP.NET MVC3后端抛出一个AJAX请求。 AFAIK,MVC3使用的本机Javascript序列化程序具有默认最大解析JSON长度4MB(如果我弄错了,请纠正我)。如果您传入的JSON字符串大于此值,则必须采用解决方法(通过分解请求,优化对象或调整服务器端设置)。