如何通过长轮询请求阻止FireFox“旋转”?

时间:2010-05-13 11:54:40

标签: jquery firefox long-polling

我正在使用以下内容进行长轮询请求......

$.getJSON(url, function(data) {
     ...
});

在30秒过去或有信息要发送(长轮询)之前,请求才会完成。

问题是Firefox是唯一一个在底部显示“Waiting for URL ...”的浏览器。有什么方法可以阻止这种情况吗?

1 个答案:

答案 0 :(得分:1)

这非常糟糕,因为有些用户只是坐在那里等待页面“加载”,而Firefox并不是唯一能够执行此操作的浏览器。不幸的是,我不认为有一种简单的方法可以解决这个问题而不使用一些相当奇特的技术。 您可能尝试的一件事是,持续时间是由于服务器处理时间,而不是数据传输到客户端,是使用伪异步调用。当您收到请求时,启动服务器上的新线程并返回令牌,这将清除该消息。每隔'x'秒将令牌发送回服务器以检查请求是否完成。只需确保在异步请求的两端复制当前请求所需的任何安全/身份验证方法。