2

我有一个 JavaScript Web 应用程序,它发出大量的 AJAX 调用(通过 jQuery),其中最大的帖子在 50kb 到 250kb 之间。对于这些较大的请求,有效负载是 JSON 字符串,我发现有一小部分时间请求被截断。它到达服务器,服务器抛出异常,因为 JSON 字符串在中间断开。

通过查看我们的日志,我可以看到:

  1. 它发生在许多不同平台(例如,Windows 7、OS X、iOS、Android 等)上的许多不同浏览器(例如,Chrome、Firefox、IE 等)上。
  2. 用户能够完成他们的提交。换句话说,看起来他们再次尝试,并且在第二次尝试中通过了相同的数据。
  3. 请求的 Content-Length 头大于服务器实际接收到的请求字符串的长度。

我从来没有能够重现这个问题。但这是一个持续存在的问题,每天会发生多次,如果有任何方法可以解决它,我愿意这样做。

我什至不确定如何解决这样的问题,因为它只发生在远程客户端上。有什么建议么?有没有其他人经历过这种情况,他们能够确定问题吗?

这是生成调用的 JavaScript。它在 99% 的时间内都有效,并且通常(总是?)用户可以重新发起请求(从而再次执行此调用)并且整个请求都会通过;

    var token = $.ajax({
        type: "POST",
        url: serviceEndpointUrl,
        data: requestData,
        dataType: 'json',
        timeout: 9000000, // 15 minute timeout
    });
4

0 回答 0