我正在尝试使用 XMLHttpRequest 对象连接到服务器以在不同时间发布数据。我创建一个对象并像这样“连接”到服务器:
var xhr = new XMLHttpRequest();
xhr.open("post", location, true);
xhr.send(); //Is this send call needed to open the connection?
在稍后的某个时间点,我调用这样的东西:
xhr.send("Something to send");
但是,查看开发人员控制台,似乎只有初始请求通过(并成功响应)。第二个请求似乎没有发送。我试图缩小可能出现的问题的范围,所以我想:一旦收到响应就可以关闭连接吗?为什么要一直开着?所以,我的问题是:XMLHttpRequest 对象连接是否在收到响应后关闭?如果是这样,模拟持续打开连接(不断重新连接?)的最佳方法是什么?
最佳答案
是的,如果您没有欺骗您的服务器使其保持事件状态,它会在发送响应后关闭。
也许你想寻找 websockets。但是,如果您不想玩这些,只需为每个“请求”创建一个新的 HttpRequest。
与 HTTP 的基本通信:1 个请求 -> 1 个响应 -> 关闭!
编辑:请记住,websockets 是 HTML5 的一项新功能,因此它不适用于所有浏览器,如果它们适用于某些浏览器,它们可能没有完全实现。
关于javascript - 收到响应后 XMLHttpRequest 对象是否关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28099211/