【学无止境】ajax长循环,反向ajax初体会,不用ws实现即时聊天

本文介绍了反向Ajax(Comet机制)的概念,通过设置客户端Ajax的超时时间和服务器端的搁置时间,避免轮询带来的资源浪费。重点在于服务器在处理业务逻辑时向前端推送信息,而客户端在接收数据后结束并启动新的Ajax请求。通过这种方式实现服务器主动推送,减少数据库压力和服务器负担。提供完整代码示例。
摘要由CSDN通过智能技术生成

反向ajax


ajax长循环,又叫comet机制,但是我最喜欢的还是叫他反向ajax

反向ajax,顾名思义,就是不是客户端来请求服务器端,而是服务器端请求客户端,这样做的好处是节省了大量以前轮询造成的查询浪费,从而减轻数据库压力和服务器压力

那么如何实现反向ajax呢:

主体

1.在客户端写一个ajax,这个ajax里设置一个过期的时间 timeout,这个过期的时间timeout是用来暂时延长ajax的请求时间的,当这个ajax触发的时候给后台传递一个等于timeout的值。

$.ajax({
    type: 'POST',
    dataType: 'json',
    url: "do.php",
    timeout: '20000',//请求超时时间
    data: {
  'time':'2000000','user':user},// 每次请求等待时间
    success: function(data){
   
     //逻辑代码
})

2.在后台的php文件中,我们接受这个timeout,把这个timeout设置为php的搁置时间,这样就算挂起了php处理的这个进程了,这样做是为了和前面ajax的过期时间保持一致,从而一致保持ajax请求这个状态,也就是说在这timeout时间内

ajax的请求和php处理程序进程被挂起了

$time = $_POST['time'];
$user = $_POST['user'];
if</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值