jquery - Ajax GET 结果突然出现 "ERR_INCOMPLETE_CHUNKED_ENCODING"和 "XMLHttpRequest: Network Error 0x800c0007"

标签 jquery google-chrome spring-mvc mule microsoft-edge

我的客户端具有以下拓扑:

User <--> Apache <--> TomCat <--> JBossAS7 <--> Mule

Mule 需要与另一个域上的另一台服务器通信,以检索用户询问的信息。此通信使用 HTTPS,证书位于 Mule 的信任库中。因此,Mule 和其他服务器能够创建 SSL 连接。

这是用于执行用户想要的操作的 ajax 请求:

$.ajax({
url : DS.nav.importDS,
data : data,
type : "GET",
cache : false,
success : function(html)
{
   //do some stuff
},
error:function (error)
{
    //do some stuff
}});

(jquery版本:1.7.1)

关于响应 header :

  • 缓存控制:max-age=0、无缓存、无存储、必须重新验证
  • 缓存控制:无缓存
  • 连接:保持事件状态
  • 内容类型:text/html;charset=UTF-8
  • 保持事件状态:超时=5,最大值=100

此 GET 请求返回 HTML 内容。

我的问题如下:

此请求在没有警告的情况下停止工作。 在 Chrome(使用的版本:65.0.3325.162)上,几分钟后,我在控制台中看到以下错误消息:“ERR_INCOMPLETE_CHUNKED_ENCODING。”。没有与实时保护防病毒软件的链接。

Edge 上,“XMLHttpRequest:网络错误 0x800c0007,所请求的资源没有可用数据”。

但是,它可以在 IE 上运行。我认为 IE 比 Chrome 或 Edge 更宽松。但我想明白为什么。

我不是在寻找完美的答案,而是在寻找任何可以让我了解正在发生的事情的想法。

编辑

在 Chrome 上 - 状态代码:200 正常 - 时间:注意:请求尚未完成! (内容下载后)

编辑 通过使用 chrome://net-export 工具,这是 HTTP 请求的结果:

t=203357 [st=  2948]        HTTP_TRANSACTION_READ_RESPONSE_HEADERS
                        --> HTTP/1.1 200 OK
                            Date: Fri, 23 Mar 2018 14:44:16 GMT
                            Server: Apache-Coyote/1.1
                            X-Frame-Options: SAMEORIGIN
                            Cache-Control: max-age=0, no-cache, no-store, must-revalidate
                            Pragma: no-cache
                            Expires: Sat, 26 Jul 1997 05:00:00 GMT
                            X-Frame-Options: SAMEORIGIN
                            X-UA-Compatible: IE=9,chrome=1
                            Content-Type: text/html;charset=UTF-8
                            Content-Language: en
                            Keep-Alive: timeout=5, max=98
                            Connection: Keep-Alive
                            Cache-Control: no-cache
                            X-Via-NSCOPI: 1.0
                            Transfer-Encoding: chunked
t=203357 [st=  2948]     -HTTP_TRANSACTION_READ_HEADERS
t=203357 [st=  2948]      HTTP_CACHE_WRITE_INFO  [dt=0]
t=203357 [st=  2948]     +URL_REQUEST_DELEGATE  [dt=4]
t=203358 [st=  2949]        DELEGATE_INFO  [dt=3]
                        --> delegate_blocked_by = "extension ModHeader"
t=203361 [st=  2952]     -URL_REQUEST_DELEGATE
t=203361 [st=  2952]   -URL_REQUEST_START_JOB
t=203361 [st=  2952]    URL_REQUEST_DELEGATE  [dt=1]
t=203362 [st=  2953]    HTTP_TRANSACTION_READ_BODY  [dt=0]
t=203362 [st=  2953]    URL_REQUEST_JOB_FILTERED_BYTES_READ
                    --> byte_count = 12971
t=203363 [st=  2954]    HTTP_TRANSACTION_READ_BODY  [dt=313130]
                    --> net_error = -355 (ERR_INCOMPLETE_CHUNKED_ENCODING)
t=516493 [st=316084]    FAILED
                    --> net_error = -355 (ERR_INCOMPLETE_CHUNKED_ENCODING)
t=516495 [st=316086] -REQUEST_ALIVE
                  --> net_error = -355 (ERR_INCOMPLETE_CHUNKED_ENCODING)

更新

我已禁用 JavaScript,并直接在 URL 中输入我的请求,结果已显示,但页面仍在 5 分钟内加载。

最佳答案

已解决

错误是由于 Lazy Load 插件的普通 JavaScript 版本 (1.9.3) https://appelsiini.net/projects/lazyload/

最新 Chrome 版本、最新 IE 版本和最新 Firefox 版本不支持它。

我已经停止使用这个插件了,但我想最后一个版本可以在不同版本的 Chrome、IE 和 Firefox 中使用。

关于jquery - Ajax GET 结果突然出现 "ERR_INCOMPLETE_CHUNKED_ENCODING"和 "XMLHttpRequest: Network Error 0x800c0007",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49430332/

相关文章:

jquery 切换 css 类

javascript - 通过将鼠标悬停在子菜单上进行选择时,下拉菜单会消失

java - 查询方法 public abstract java.util.List 的验证失败

javascript - html中的表单提交触发器

javascript - 我可以在 JavaScript 中拥有一个带有自定义 toString 的对象数组吗?

javascript - 使用 JavaScript 将当前 URL 发送到电子邮件

java - 在使用带有自定义消息源的 hibernate validator 时如何转义参数

java - Spring MVC : Tying session attributes to each browser tab

javascript - Object.create 改变了 Chrome 中原型(prototype)对象的控制台输出?

html - 如何在现代 Chrome 上访问 video.play() API