背景
MVC 获取数据返回Json格式的数据给后台
var jsonStr = new{msg= "小白remover假装有很多数据",};
var jsonResult = Json(jsonStr, JsonRequestBehavior.AllowGet);
return jsonResult;
$.ajax({
type: 'POST',
dataType: 'json',
success: function (data) {
alert(data.msg);
}
})
现象
出现错误:使用 JSON JavaScriptSerializer 序列化或還原序列化期間發生錯誤。字串的長度超過在 maxJsonLength 屬性上設定的值。
解决办法
方法一:
前端设置最大长度
var jsonStr = new{msg= "小白remover假装有很多数据",};
var jsonResult = Json(jsonStr, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
方法二:
前端代码修改:
var jsonStr = new{msg= "小白remover假装有很多数据",};
JavaScriptSerializer jso = new JavaScriptSerializer();
jso.MaxJsonLength = Int32.MaxValue;
string s = jso.Serialize(jsonStr);
return Json(s, JsonRequestBehavior.AllowGet);
后端接收数据修改:
$.ajax({
type: 'POST',
dataType: 'json',
success: function (data) {
var d = JSON.parse(data);
alert(d.msg);
}
})
以上方式是解决了我的问题,仅供参考。