http - XMLHttpRequest 如何知道何时调用它的回调?

标签 http tcp callback xmlhttprequest readystate

据我了解,如果客户端 javascript 代码使用 XMLHttpRequest 发出 POST 请求,它会等待响应,并在完成后将其就绪状态更改为 ReadyState.Complete 并调用回调函数。

我的问题是:它如何确定响应是完整的?它是否返回它收到的第一个 TCP 数据包的内容?还是服务器关闭 tcp 连接从而完成交易?还是 TCP 数据包内容中有一些特殊的东西告诉 XMLHttpRequest 对象响应已完成?

最佳答案

它要么等待服务器关闭它的连接,要么等待它从响应中读取的字节数等于响应中的 Content-Length header 。

关于http - XMLHttpRequest 如何知道何时调用它的回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1040787/

相关文章:

node.js - 我应该如何批量上传到 s3 并通过最终回调从 nodeJS 网络服务器插入到 MongoDB?

api - 如何在客户端 javascript 中使用 Grafana Http API

C# 查找进行 UDP/TCP 调用的客户端的进程 ID (pid)

php - nodejs TCP/IP 中的\r\n\r\n 是什么字符

ruby-on-rails - 为什么当属性更新为 nil 时不触发 before_save/after_save?以及如何触发?

while 循环中的 Javascript 回调不起作用?

rest - 创建最佳 API : Upload N files and json metadata

c# - 浏览器尝试连接和 Socket.Accept() 之间的长时间延迟 [~1s]

api - 在meteor中如何发出API请求

java - TCP 客户端/服务器通信只发送第一条消息?