Php apache上是否有comet的jQuery函数或插件?

Php apache上是否有comet的jQuery函数或插件?,php,jquery,apache,comet,Php,Jquery,Apache,Comet,我以前见过这个问题,发现这个例子非常好,非常清楚。但是,它使用javascript 我的问题是,是否有任何插件、函数或其他东西可以帮助我轻松地用jQuery实现PHP comet?因为给定的示例需要大量javascript代码 顺便说一句,我想在Apache上使用它。有可能吗?Comet是一种长轮询,客户端发送请求并等待服务器的响应。服务器对请求进行排队,一旦得到更新的结果。它将响应发送到客户端 所以基本上,您需要做的就是向服务器发送一个.ajax请求,并使用onSuccess回调来处理返回的数

我以前见过这个问题,发现这个例子非常好,非常清楚。但是,它使用javascript

我的问题是,是否有任何插件、函数或其他东西可以帮助我轻松地用jQuery实现PHP comet?因为给定的示例需要大量javascript代码


顺便说一句,我想在Apache上使用它。有可能吗?

Comet是一种长轮询,客户端发送请求并等待服务器的响应。服务器对请求进行排队,一旦得到更新的结果。它将响应发送到客户端

所以基本上,您需要做的就是向服务器发送一个
.ajax
请求,并使用
onSuccess
回调来处理返回的数据。除非服务器获得更新的数据,否则不会调用
onSuccess
回调

在客户端没有什么特别的东西。实际的游戏是在服务器端对请求进行排队,然后做出相应的响应


看看这个答案详细的代码示例>

如果您只进行长轮询,那么jQuery将很好地工作。但是,jQuery不公开readyState===3事件,因此没有内置的方法来获取数据,因为它是流式的,如果您希望这样做的话

[编辑] 这是错误

看起来他们在1.5中添加了功能,使用了


是的,你现在可以用jQuery做所有comet的事情:)

我看到了一个插件,试试这个

我以前制作过comet的jQuery版本,这就是我所做的:

var comet = {
    connection   : false,
    iframediv    : false,

    initialize: function(){
        // For other browser (Firefox...)
        comet.connection = $('<iframe>');
        comet.connection.attr('id', 'comet_iframe');
        comet.connection.css( {
          left       : "-100px",
          top        : "-100px",
          height     : "1px",
          width      : "1px",
          visibility : "hidden",
          display    : 'none'
        })
        //comet.iframediv = $('<iframe>');
        comet.connection.attr('src', 'backend.php');
        //comet.connection.append(comet.iframediv);
        $('body').append(comet.connection);
    },
    // this function will be called from backend.php
    printServerTime: function (time) {
      console.log('time',time);
      $('#content').html(time);
    },

    onUnload: function() {
      if (comet.connection) {
        comet.connection = false; // release the iframe to prevent problems with IE when reloading the page
      }
    }
  }
  $(window).load(comet.initialize)
           .unload(comet.onUnload);
var comet={
联系:假,
iframediv:false,
初始化:函数(){
//对于其他浏览器(Firefox…)
comet.connection=$('');
comet.connection.attr('id','comet_iframe');
comet.connection.css({
左:“-100px”,
顶部:“-100px”,
高度:“1px”,
宽度:“1px”,
可见性:“隐藏”,
显示:“无”
})
//comet.iframediv=$('');
attr('src','backend.php');
//comet.connection.append(comet.iframediv);
$('body').append(comet.connection);
},
//此函数将从backend.php调用
printServerTime:函数(时间){
console.log('time',time);
$('#content').html(时间);
},
onUnload:function(){
if(comet.connection){
comet.connection=false;//释放iframe以防止重新加载页面时IE出现问题
}
}
}
$(窗口).load(comet.initialize)
.卸载(彗星onUnload);

我从该页面上直接删除了代码,并将其设置为jquery^ ^

Apache的设计目的并不是让Comet的使用变得非常简单。有关更多详细信息,请参阅。@justkt Apache实际上支持comet,请参阅。但我同意这不是很容易。你可能想选择一个答案,或者你可能只是白白损失了50个代表^_^