【问题标题】:Ajax POST 302 : Variable more than 1MB giving 302 redirect by ControllerAjax POST 302:超过 1MB 的变量由控制器提供 302 重定向
【发布时间】:2017-04-12 06:52:34
【问题描述】:

需要从前端发送 更新的 html 到我的 spring mvc 控制器。如果我的 文件大小超过 1MB,控制器会将我扔回 302 重定向以进行 ajax 调用

以下代码包含以下问题:

var allHtmlContent = document.getElementById('#iframeId').contentDocument.body.innerHTML;
    $.ajax({
        url : context + "/someControllerMethod",
        cache : false,
        type : 'POST',
        data : {
            htmlText : encodeURIComponent(allHtmlContent)
        },
        dataType : "text",
        success : function(b) {

        },
        error: function() {
           }
    }); 

这里的allHtmlContent 变量包含iFrame 中的所有HTML。如果该 iFrame 由大于 1mb 大小的文件加载,我将通过控制器获得 302 重定向,因此 ajax 在浏览器网络中显示该错误。

有什么办法可以解决这个问题,以便我可以发布超过 1mb 的可变大小。

提前致谢

【问题讨论】:

  • 302 没有错误,只是重定向。

标签: javascript java jquery ajax spring-mvc


【解决方案1】:

在 nginx.conf 文件中将 client_max_body_size 设置为 20MB(你的选择),这意味着我们做 AJAX 时请求对象可以容纳这么多的数据。

【讨论】:

    【解决方案2】:

    我认为这个问题与请求的最大大小有关。

    您可以在web.config 中尝试以下代码来设置请​​求的最大大小。

    <system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="1000000" />
        </requestFiltering>
    </security>
    

    &lt;requestLimits&gt; 元素指定对 Web 服务器处理的 HTTP 请求的限制。这些限制包括请求的最大大小

    【讨论】:

    • 这个web.config文件,会在spring mvc应用中可用吗?
    • 这个配置文件在哪里。
    • 这仅适用于 ASP.NET
    • 此配置对第一个请求运行良好,但对于同一个文件,第二个请求再次失败并且返回 302,知道会出现什么问题吗?
    猜你喜欢
    • 2013-04-13
    • 2012-06-25
    • 2016-09-15
    • 1970-01-01
    • 2018-03-18
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多