如何使用ASP.NET MVC增加对AJAX JSON响应的2MB限制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用ASP.NET MVC增加对AJAX JSON响应的2MB限制相关的知识,希望对你有一定的参考价值。
当响应超过2MB时,我在进行AJAX调用时遇到问题。响应低于2MB的任何东西都能正常工作。当响应超过2MB时,我的“成功”方法永远不会被调用。
我的应用程序是ASP.NET MVC2。我正在使用jQuery AJAX调用进行调用:
$.ajax({
type: "post",
data: ajaxData,
url: ajaxUrl,
success: updateItems,
cache: false
});
在我的控制器中,我使用的是Json()动作结果方法:
public ActionResult GetItems(....)
{
...
return Json(packet);
}
当我在Fiddler中观看呼叫时,它会返回HTTP 500响应。
我尝试在web.config文件中设置maxJsonLength,如here所示,但这似乎没有任何区别。
关于如何允许超过2MB的响应的任何建议?
提前致谢, 跳跃
您可以在web.config中添加以下内容:
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="1000000000" />
</webServices>
</scripting>
</system.web.extensions>
我不确定您是否正在运行自己的服务器,或者如果您使用的是托管解决方案,但是,我们最近遇到了此问题,但限制为30MB。任何更大的东西都不会激发成功方法。因此,如果您在共享主机上,则此设置可能已设置为2MB。
我们通过更改maxAllowedContentLength来修复此问题,如下所述:http://www.webtrenches.com/post.cfm/iis7-file-upload-size-limits
更改executionTimeout和maxRequestLength可能是解决方案,因为您说:“我的'成功'方法永远不会被调用。” (它解决了我添加它的问题。)
<configuration>
<system.web>
<httpRuntime maxRequestLength="500000000" executionTimeout="120" />
</system.web>
<configuration>
Source : https://webconnection.west-wind.com/docs/_4lp0zgm9d.htm
以上是关于如何使用ASP.NET MVC增加对AJAX JSON响应的2MB限制的主要内容,如果未能解决你的问题,请参考以下文章
使用 ASP.NET MVC 在 JS 文件中为 jQuery 设置 ajax url
识别 ASP.NET MVC 代码中的 Angular js AJAX 调用
Asp.net mvc 使用Ajax调用Action 返回数据。
asp.net mvc 使用Ajax调用Action 返回数据
asp.net mvc 使用Ajax调用Action 返回数据
MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)