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