最近做一个评论功能时,想要实现实时异步刷新评论功能,于是使用了ajax轮询,这里简单记录一下ajax轮询的原理及使用方法。
ajax轮询的原理就是客户端定时向服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接,然后客户端继续发送ajax请求,一直持续这个循环。
var getting = {
url:'请求地址',
dataType:'json',
success:function(res) {
$('#com').html(str);
setTimeout(function(){$.ajax(getting);},5000);//5秒后定时发送请求
}
};
$.ajax(getting)
ajax轮询的方式实现比较简单,但是比较浪费服务器的资源,服务器大多时间处理的是无用的请求。
最近在关注HTML5的一个新的协议websocket,实现了浏览器与服务器的全双工通信,可以很好地节省服务器资源。他的原理是客户端向服务器发送请求后,如果服务器没有新数据就不做响应,等有新数据时,服务器就主动向客户端传递数据。