mvc “使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值” 解决经历
mvc中 在做一个post提交需要从控制器返回一个字符串(字符串有点长)
在用json("需返回的字符串");时 报 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值 错误
在网上找了很久解决方案都未成功 下班之后也不想解决这问题 忙其它去了 在坐车回家的路上突然灵光一闪 我只返回字符串为什么要序列化、反序列化呢 还浪费性能,为什么不能像webForm中Handler一样返回文本数据呢
第二天上班一试 我的猜想果然正确 下面给出部分关键代码
public void Compare() { Response.ContentType = "text/plain"; Response.Write(model.ToDiff());//model.ToDiff() 方法为返回的长字符串(新写法) //return Json(model.ToDiff()); // 原来的写法 }
前台post提交方法
$.post("@Url.Action("Compare","Home")",{},function(data){ alert(data); });
有时问题 换一种解决思路 也许效果更好,当遇到解决不了的问题 时间允许的情况下可以先放一放 也许下来在不经意间就会想到解决方案