我正在尝试通过ajax使用REST服务。为此我发送了jquery AJAX POST请求,该请求失败并显示以下消息。
{"statusCode":400,"error":"Bad Request","message":"Payload content length greater than maximum allowed: 1048576"}
我们尝试发送的有效负载大小约为3 MB。
Service API是在JAVA中开发的,在服务API方面,我们将 nginx作为Web服务器,将tomcat作为应用程序服务器。
如何增加有效负载内容长度,以便我们可以解决上述错误?
AJAX如下:
$.ajax({
type: "POST",
crossDomain: true,
//contentType: "application/json; charset=utf-8",
beforeSend: function (request) {
// Headers as below
setRequestHeadersOfFMAPI(request);
},
contentType: "application/json",
dataType: "json",
timeout: (3000 * 60 * 10),
url: urlContext + "/api/v1/application/google_bps_app/metrics/actuals",
data: JSON.stringify({
"actuals": activities
}),
success: function (data) {
}
);
答案 0 :(得分:1)
编辑Tomcat' server.xml
。在<Connector>
元素中,添加属性maxPostSize
并设置更大的值(以字节为单位)以增加限制。
答案 1 :(得分:0)
为了增加数据包大小,您不需要在Java端执行任何操作,但需要更改服务器上的nginx配置。
您需要为参数client_max_body_size
增加大小(可能在配置中设置,如果没有添加)。
记住此参数的大小以字节为单位,因此请计算并将数字设置为最大数据包的最大值。