微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET MVC Ajax 请求在大数据期间失败并显示 net::ERR_HTTP2_PROTOCOL_ERROR

如何解决ASP.NET MVC Ajax 请求在大数据期间失败并显示 net::ERR_HTTP2_PROTOCOL_ERROR

我有一个 ajax 调用,如下所示:

var base64String = "data:image/png;base64,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"
var formdata = new FormData();
formdata.append("photoByte",base64String);
formdata.append("eventRecordID",eventRecordIDs);

$.ajax({
 url: "@Url.Action("UploadSignature","JobList")",contentType: "application/json;charset=utf-8",cache: false,type: "POST",data: formdata,processData: false,contentType: false,success: function (result) {
    alert("success")
},error: function (XMLHttpRequest,textStatus,errorThrown) {
    alert(JSON.stringify(XMLHttpRequest));
}
});

调用 ajax 后,我打开网络选项卡,特定请求处于待处理状态。

Pending

所以,我只等了 5 分钟,直到它像标题一样显示错误,协议错误。有时它也会因另一个错误而失败,即 net::ERR_CONNECTION_RESET。

enter image description here

当我将 base64String 更改为短字符串(1-100+ 个字符)时发生了奇怪的事情,并且它可以正常工作而无需等待。 2930 字符对于ajax 来说太大了吗? POST json 数据有什么限制吗? 我根本不知道错误意味着什么。希望有人可以帮助我。提前致谢。

顺便说一下,下面是特定请求的标头。

enter image description here

解决方法

尝试更改请求中内容的最大长度(以字节为单位)

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="1073741824" maxQueryString="32768"/>
  </requestFiltering>
</security>

在 web.config 中的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。