我有一个很好的问题。
我有一个暂停请求和流数据的应用程序。客户端将使用长轮询进行IE6 +。
使用IE6,XMLHttpRequest响应数据仅在state == 4中可用。因为我的应用程序正在暂停对流数据的请求,所以在我恢复请求之前我不会收到状态== 4,所以我将陷入状态== 3.
在Firefox或Chrome中,如果我在状态== 3中执行abort(),它将切换到state == 4并且退出很好,但在IE中,如果我执行abort(),状态将变为== 0。我将永远不会处于州== 4。
我虽然使用超时,但看起来IE中不存在超时。
修改
我想,我可以通过在请求中传递resumetimeout attribut并在服务器中创建一个将恢复连接的计时器来解决问题。
答案 0 :(得分:0)
服务器中的Runnable将恢复请求,修复了IE的限制。
答案 1 :(得分:0)
前段时间我花了一些时间来解决这个问题,并且我意识到IE将在下载阈值量(我认为是512字节)后发生下载时开始返回数据。因此,如果您只是在响应开始时发送一些填充量,那么IE开始的行为与其他浏览器的行为相同。