我的客户端具有以下拓扑:
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/