2010-11-14 82 views
8

我打电话给webmethod使用jquery,webmethod返回一个HTML块,然后加载到一个div。带有jQuery json的ASP.NET WebMethod,有没有大小限制?

它工作正常,直到一定大小的块然后它根本不工作。它似乎停止工作,如果大块的HTML超过70KB。

我使用的jQuery是:

$(".letterBtn").live("click", function() { 
    $("#divLoading").html('<img src="images/loading.gif" alt="Loading..." />'); 
    $.ajax({ 
     type: "POST", 
     url: "Default.aspx/Search", 
     data: "{sFor:" + "'" + this.id + "'" + "}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(msg) { 
      $("#divOut").html(msg.d); 
      $("#divLoading").html(''); 
     } 
    }); 
}); 

将WebMethod类同此

我似乎无法弄清楚为什么它不为较大的HTML块工作。有人有任何想法吗?谢谢!

+1

如果您要返回HTML,为什么数据类型为JSON? – 2010-11-14 22:13:14

+0

你确定服务器没有发生错误吗?在.net端的json序列化程序有一个默认的大小限制。 – 2010-11-14 22:27:37

+0

服务器没有发生错误,我可以通过webmethod并查看字符串,如果我在js中添加警报,它似乎没有得到那么多。我改变了数据类型。 – sooty 2010-11-14 23:02:37

回答

11

找到我之后,默认设置似乎是100k,我在我的web.config文件中设置以下内容。我想我现在会重新考虑html块,它似乎不是最好的解决方案。

<webServices> 
<jsonSerialization maxJsonLength="10000000"/> 
</webServices> 
+3

的完整路径是 \t \t \t \t \t \t \t \t \t \t 2012-04-30 17:49:28

+0

救命稻草,这个问题与回答只是使我们能够烦人识别间歇性错误 – Carson63000 2014-06-30 06:18:15