我正在尝试通过 ajax POST 请求将一个数组从我的 jsp 发送到我的 Servlet。我的数组有几个对象有很多字段。如果我尝试发送包含 11 个对象的数组 - 使用 JSON.stringify - 它工作正常(在服务器端接收数组),但是当我尝试发送包含 12 个以上对象的数组时会出现问题。错误是:400 Bad Request
并使用 Google Chrome 调试器查看,我可以找到这个错误:fluxos:(unable to decode value)
where 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 上发送数据。
关于java - 超过 ajax POST 长度限制的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23374852/