java - 超过 ajax POST 长度限制的字符串

标签 java javascript jquery ajax servlets

我正在尝试通过 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/

相关文章:

javascript - 在 Canvas 中填充一部分绘制的图像

java - 如何将 Maven 添加到 IntelliJ 中现有的 Java Web 应用程序?

javascript - 仅当在下拉菜单外单击鼠标时才关闭 Bootstrap 下拉菜单

java - 如何使用 AndroidX 为 Activity 创建选项菜单?

javascript - meteor 1.3 autoform/quickform 错误

javascript - 在纯 Javascript 中查询元素的伪类

javascript - 清空 CKEditor -TextArea

jquery - Safari 中的 CSS 动画滞后

java - 使用 System.arraycopy 将 double[] 转换为 Double[] 和 Viceversa,Java

java - 为什么这段代码在java中会耗尽内存,而在c中却不会?