Multipart/x-mixed-replace 是一种 MIME 类型,用于包含多个部分的内容,每个部分都替换前一个部分。这可用于实现服务器推送/反向 ajax/comet,显然至少在 Firefox 中应该可以工作。为了测试这一点,我设置了一个服务器,它产生以下输出,每个部分之间有延迟:
HTTP/1.1 200 OK
Content-type: multipart/x-mixed-replace; boundary=whatever
--whatever
Content-type: text/plain
tick
--whatever
Content-type: text/plain
tock
--whatever
...
在客户端,这是我在 Firefox 中运行的 JavaScript 代码:
var r = new XMLHttpRequest();
r.multipart = true;
r.open('GET', '/', true);
r.onreadystatechange = function () {
console.log(r.responseText.length);
};
r.send();
我希望每个 responseText 替换前一个,但似乎它们实际上是附加在一起的。 responseText 的大小随着服务器产生更多的输出而不断增加。有没有办法只获得最新更换的零件?
最佳答案
这不再可能,因为该支持已从 Firefox 中删除。见 https://bugzilla.mozilla.org/show_bug.cgi?id=843508
关于javascript - 将 multipart/x-mixed-replace 与 XMLHttpRequest 一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20319727/