字符串超过ajax POST长度限制
String exceeding ajax POST length limit
我正试图通过ajax POST请求将一个数组从jsp发送到Servlet。我的数组有几个带有许多字段的对象。如果我尝试发送一个包含11个对象的数组-使用JSON.stringify-它可以正常工作(数组在服务器端接收(,但当我尝试发送包含12个以上对象的数组时就会出现问题。错误是:400 Bad Request
,用Google Chrome调试器查找,我可以找到这个错误:fluxos:(unable to decode value)
,其中fluxos
是我的数组的名称。
代码的相关部分:
for(var i=0; i<numberOfConnections; i++) {
fluxo = criaEstruturaFluxo(i);
fluxos.push(fluxo);
}
$.ajax({
type: "POST",
url: 'Servlet?fluxos='+JSON.stringify(fluxos),
success: function (data) {
alert('success');
}
});
...
function criaEstruturaFluxo(i) {
...
...
var fluxo = {
xOrigem: xOrigem,
yOrigem: yOrigem,
xDestino: xDestino,
yDestino: yDestino,
codWorkflow: codWorkflow,
acaoAvanco: acaoAvanco,
codAtividadeOrigem: codAtividadeOrigem[1],
codAtividadeDestino: codAtividadeDestino[1],
numero: numero,
nomeAtividadeOrigem: nomeAtividadeOrigem,
nomeAtividadeDestino: nomeAtividadeDestino,
codConexao: codConexao,
tipoOrigem: tipoOrigem,
tipoDestino: tipoDestino,
xFluxoOrigem: xFluxoOrigem,
yFluxoOrigem: yFluxoOrigem,
xFluxoDestino: xFluxoDestino,
yFluxoDestino: yFluxoDestino,
deletarArquivo: deletarArquivo,
ultimaConexao: ultimaConexao,
caminhoArquivo: caminhoArquivo,
xTela: xTela,
yTela: yTela
};
return fluxo;
}
我的编码数组有8000多个字符的长度,因此,我认为它超过了POST请求可以处理的最大长度。。。这可能吗?或者可能是我发送到Servlet的代码中的某些内容?
您的url很长。理论上,这不应该引起任何问题,但有一个实际的限制,这取决于您使用的服务器和代理。发送请求正文上的数据,而不是url上的数据。
同意Andres&路易吉。以下是您修改后的代码:
$.ajax({
url: "Servlet",
type: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ "fluxos": fluxos }),
success: function(data) {
alert("success");
}
});
相关文章:
- WAMP响应内容长度限制
- 我可以设置HTML5文件上传的视频长度限制吗
- 在 AngularJS 中输入的数字的限制长度
- 文本长度限制在我的 instafeed 模板中不起作用
- 如何限制粘贴函数超过最大长度
- 将一行的长度限制在三个js中
- 使用requirejs+uglify限制线路长度
- Ajax字符串长度限制
- Jquery将输入长度限制为n封电子邮件
- 使用字符串的替换方法时是否有长度限制
- 如何生成具有特定长度限制的所有可能组合的字母
- 如何通过输入的长度限制jQuery自动完成if条件
- 增加mailto:的IE URL长度限制
- 在JavaScript中格式化字符长度/限制
- 当达到最大长度限制时,更改输入字段样式
- 如何绕过铬邮件的最大长度限制
- Node.js HTTP Get URL长度限制
- 将文本长度限制为其容器大小
- onClick按钮输入的最大长度限制
- 字符串超过ajax POST长度限制