代码之家  ›  专栏  ›  技术社区  ›  EagerToLearn

JQuery的Ajax是否引用了web中的maxJsonLength属性。配置

  •  0
  • EagerToLearn  · 技术社区  · 8 年前

    在我的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 指的是 网状物配置 关于json字符串的最大长度,为什么我在互联网上找不到任何相关信息?

    1 回复  |  直到 8 年前
        1
  •  3
  •   Rory McCrossan Hsm Sharique Hasan    8 年前

    我敢肯定,我们需要的数据量是有限的 JSON.parse() 可以处理,但这与你的问题无关。

    你的 web.config 文件包含要使用的设置 服务器端 jsonSerialization .

    如果在发出失败的请求后检查浏览器控制台,则很可能在引导您解决问题的响应中看到错误。