jquery与php结合如何实现AJAX长轮询
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了jquery与php结合如何实现AJAX长轮询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。HTTP是无状态、单向的
千家信息网最后更新 2026年11月02日jquery与php结合如何实现AJAX长轮询
这篇文章主要介绍了jquery与php结合如何实现AJAX长轮询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
HTTP是无状态、单向的协议,用户只能够通过客服端向服务器发送请求并由服务器处理发回一个响应。若要实现聊天室、WEBQQ、在线客服、邮箱等这些即时通讯的应用,就要用到" 服务器推送技术(Comet)"。
传统的AJAX轮询方式,客服端以用户定义的时间间隔去服务器上查询最新的数据。种这种拉取数据的方式需要很短的时间间隔才能保证数据的精确度,但太短的时间间隔客服端会对服务器在短时间内发送出多个请求。
反转AJAX,就是所谓的长轮询或者COMET。服务器与客服端需要保持一条长时间的请求,它使得服务器在有数据时可以返回消息给客户端。
XHTML
jQuery
这里使用AJAX请求data.php页面获得'success'的值,请求的时间达到80秒。在这80秒中若没有从服务端返回'success'则一直保持连接状态,直到有数据返回或'success'的值为0才关闭连接。在关闭连接后在继续下一次的请求。
$(function(){ $("#btn").bind("click",{btn:$("#btn")},function(evdata){ $.ajax({ type:"POST", dataType:"json", url:"data.php", timeout:80000, //ajax请求超时时间80秒 data:{time:"80"}, //40秒后无论结果服务器都返回数据 success:function(data,textStatus){ //从服务器得到数据,显示数据并继续查询 if(data.success=="1"){ $("#msg").append("
[有数据]"+data.text); evdata.data.btn.click(); } //未从服务器得到数据,继续查询 if(data.success=="0"){ $("#msg").append("
[无数据]"); evdata.data.btn.click(); } }, //Ajax请求超时,继续查询 error:function(XMLHttpRequest,textStatus,errorThrown){ if(textStatus=="timeout"){ $("#msg").append("
[超时]"); evdata.data.btn.click(); } } }); }); });PHP
在这里是无限的循环,循环的结束条件就是获取到了返回结果返回Json数据。
并且接受$_POST['time']参数来限制循环的超时时间,避免资源的过度浪费。(浏览器关闭不会发消息给服务器,使用可能一直循环下去)
if(emptyempty($_POST['time']))exit(); set_time_limit(0);//无限请求超时时间 $i=0; while (true){ //sleep(1); usleep(500000);//0.5秒 $i++; //若得到数据则马上返回数据给客服端,并结束本次请求 $rand=rand(1,999); if($rand<=15){ $arr=array('success'=>"1",'name'=>'xiaocai','text'=>$rand); echo json_encode($arr); exit(); } //服务器($_POST['time']*0.5)秒后告诉客服端无数据 if($i==$_POST['time']){ $arr=array('success'=>"0",'name'=>'xiaocai','text'=>$rand); echo json_encode($arr); exit(); } }运行效果:在图中可以看到无数据的请求时间达到了40S,在40S的请求中若获得数据则请求关闭。
感谢你能够认真阅读完这篇文章,希望小编分享的"jquery与php结合如何实现AJAX长轮询"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
数据
服务
服务器
时间
篇文章
循环
查询
就是
方式
消息
状态
用户
结果
精确
价值
传统
兴趣
单向
参数
同时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天津市摩尔互联网科技
互联网科技巨头监管
美国互联网保险保险科技
杭州互联网科技公司
撒么互联网科技公司
互联网科技咨询
天扬科技互联网广告
温州喔噻互联网科技有限公司
广州慧亚互联网科技怎么样
科技与互联网哪个更好
互联网科技项目计划书材料类
允成互联网科技有限公司融资
内蒙古九一互联网科技
华夏恒生科技与互联网科技
中科明德北京互联网科技
元气玛特互联网科技公司是外包吗
上海创道互联网络科技有限公司
互联网科技融合创新
互联网时代科技型公司的机会
瑞安市蟠桃会互联网科技有限公司
奇酷互联网科技公司
郑州华宇互联网科技
亳州好赞互联网科技有限公司
国大互联网教育科技有限公司工作
富国互联网科技002692
长沙渺峰互联网科技有限公司
中国互联网公司的科技投入
众联互联网络科技
瑞安市蟠桃会互联网科技有限公司
每日互联网科技新闻