javascript - AJAX 请求在 HTTP_STREAM_PARSER_READ_HEADERS 之后被取消

标签 javascript ajax xmlhttprequest

我的 XMLHttpRequests 被取消了,但似乎仍然可以正常工作(数据到达服务器)。另一个问题建议出于某种原因查看 chrome 事件,它似乎在 HTTP_STREAM_PARSER_READ_HEADERS

之后立即取消

这是请求事件,以及关于可能导致此问题的原因的见解,或者我可以尝试进一步的故障排除?:

t=1125 [st= 0] +REQUEST_ALIVE [dt=250]
t=1125 [st= 0] URL_REQUEST_DELEGATE [dt=0]
t=1125 [st= 0] +URL_REQUEST_START_JOB [dt=250]
--> load_flags = 33024 (MAYBE_USER_GESTURE | VERIFY_EV_CERT)
--> method = "PUT"
--> priority = "LOW"
--> upload_id = "0"
--> url = [Redacted]
t=1125 [st= 0] +URL_REQUEST_DELEGATE [dt=1]
t=1125 [st= 0] DELEGATE_INFO [dt=1]
--> delegate_info = "extension Tampermonkey"
t=1126 [st= 1] -URL_REQUEST_DELEGATE
t=1126 [st= 1] HTTP_CACHE_GET_BACKEND [dt=0]
t=1126 [st= 1] HTTP_CACHE_OPEN_ENTRY [dt=0]
t=1126 [st= 1] HTTP_CACHE_ADD_TO_ENTRY [dt=0]
t=1126 [st= 1] HTTP_CACHE_READ_INFO [dt=0]
t=1126 [st= 1] URL_REQUEST_DELEGATE [dt=0]
t=1126 [st= 1] +HTTP_STREAM_REQUEST [dt=198]
t=1126 [st= 1] HTTP_STREAM_REQUEST_STARTED_JOB
--> source_dependency = 82675 (HTTP_STREAM_JOB)
t=1324 [st=199] HTTP_STREAM_REQUEST_BOUND_TO_JOB
--> source_dependency = 82675 (HTTP_STREAM_JOB)
t=1324 [st=199] -HTTP_STREAM_REQUEST
t=1324 [st=199] +HTTP_TRANSACTION_SEND_REQUEST [dt=0]
t=1324 [st=199] HTTP_TRANSACTION_SEND_REQUEST_HEADERS
--> PUT /users/[Redacted] HTTP/1.1
Host: [Redacted]
Connection: keep-alive
Content-Length: 4545
X-NewRelic-ID: UwUDUlFADQEGUlFb
Origin: [Redacted]
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36
Content-Type: application/json
Accept: /
X-Requested-With: XMLHttpRequest
Referer: [Redacted]
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: [1850 bytes were stripped]
t=1324 [st=199] HTTP_TRANSACTION_SEND_REQUEST_BODY
--> did_merge = false
--> is_chunked = false
--> length = 4545
t=1324 [st=199] -HTTP_TRANSACTION_SEND_REQUEST
t=1324 [st=199] +HTTP_TRANSACTION_READ_HEADERS [dt=51]
t=1324 [st=199] +HTTP_STREAM_PARSER_READ_HEADERS [dt=51]
t=1374 [st=249] CANCELLED
t=1375 [st=250] -URL_REQUEST_START_JOB
--> net_error = -3 (ERR_ABORTED)
t=1375 [st=250] URL_REQUEST_DELEGATE [dt=0]
t=1375 [st=250] -REQUEST_ALIVE

最佳答案

我在 chrome://net-internals/#events 中遇到了同样的错误。就我而言,AJAX 请求采用以下形式: $.ajax({ ... timeout: 3000//在我的例子中动态出现 ...}); 因此,所有超过 3000 毫秒的请求都会被自动取消。

现在适合您的解决方案取决于您的应用程序是要增加客户端的超时还是改善服务器端的服务。

关于javascript - AJAX 请求在 HTTP_STREAM_PARSER_READ_HEADERS 之后被取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36392238/

相关文章:

javascript - 当复选框名称来自php中的数据库时,如何访问多个复选框名称

javascript - youtube 播放器 api - 未创建视频播放列表

javascript - jQuery Load() 未在 div 内加载

javascript - 如何在 ajax 调用中安全地将数据发送到 Controller 方法,以便通过查看开发人员工具无法利用它

javascript - 多次提交表单数据,PHP不通过表单POST请求发送数据消息

javascript - setInterval() 是异步函数吗?

javascript - 在这种情况下,将 async/await 放置在哪里?

javascript - 这个 Javascript 以前可以工作,但现在不行了

javascript - "XMLHttpRequest.timeout cannot be set for synchronous http(s) requests made from the window context"是什么意思?

javascript - 我怎样才能在 javascript 中停止鼠标事件?