字符串超过ajax POST长度限制

luc*_*sdc 1 javascript java ajax jquery servlets

我正试图通过ajax POST请求从我的jsp发送一个数组到我的Servlet.我的数组有一些包含许多字段的对象.如果我尝试发送带有11个对象的数组 - 使用JSON.stringify - 它工作正常(数组在服务器端接收),但是当我尝试发送一个包含12个以上对象的数组时会出现问题.错误是:400 Bad Request与谷歌浏览器调试器看,我能找到这个错误:fluxos:(unable to decode value)这里fluxos是我的数组的名字.

RELEVANTE代码部分:

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;
}
Run Code Online (Sandbox Code Playgroud)

我的编码数组长度超过8000个字符,因此,我认为它超过了POST请求可以处理的最大长度...这是可能的,还是可能是我发送给我的Servlet的代码?

And*_*res 6

你的网址很长.从理论上说,这不应该导致任何问题,但是实际限制取决于您使用的服务器和代理.发送请求正文的数据而不是网址.

  • 我想补充一点,如果您要在URL中使用查询字符串参数,则发送POST请求没有用... (3认同)