【发布时间】:2017-11-20 08:14:52
【问题描述】:
在我的 ASP.NET 站点中,我使用 Jquery AJAX 在单击搜索按钮时从 Web 服务加载 json 数据(实际上是一个字符串):
$.ajax({
type: "POST",
url: url,
data: JSON.stringify(parameterArray),
contentType: "application/json",
dataType: "json",
success: function(response) {
d = JSON.parse(response.d);
}
当返回字符串变得太大时,页面停止响应。我必须去web.config 并添加此属性才能使网站正常工作:
<jsonSerialization maxJsonLength="2147483644"/>
以下是应用程序在将数据返回到浏览器之前如何处理search result:
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
string strData = dService.searhforData(ipt);
List<Dictionary<string, object>> lRow = processData(strData);
string r = serializer.Serialize(lRow);
return r;
如果 Json 字符串过长,页面就停止响应,控制台窗口没有任何错误。当我在.Net应用程序端调试时,serializer.Serialize(lRow);顺利并成功返回r,之后页面上的加载图标一直在旋转。如果我在页面上按 F5,就会出现搜索数据。
我的问题是,如果 JQuery's Ajax 指的是 web.config 的最大 json 字符串长度,为什么我在互联网上找不到任何相关信息?
【问题讨论】:
-
不,绝对不会。这似乎是一个 .net 相关的配置。
标签: javascript jquery asp.net json web-config