<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ajax长轮询和短轮询</title>
</head>
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
// 使用定时器实现短轮询
function shortPolling() {
setInterval(shortAjax,5000);
}
function shortAjax() {
$.ajax({
type:"get",
url:"/javatest/student/findOneShort/" + 10001,
dataType:"json",
success:function(result) {
var msg = $("#message").html() + result.id+':'+result.name+'='+result.score+'\n';
$("#message").html(msg);
},
timeout:10000, //测试超时10s会不会报错,实际可以调大一点
error:function (error) {
console.log("ajax执行失败");
}
})
}
// 长轮询
function longPolling() {
$.ajax({
type:"get",
url:"/javatest/student/findOneLong/" + 10001,
dataType:"json",
success:function(result) {
var msg = $("#message").html() + result.id+':'+result.name+'='+result.score+'\n';
$("#message").html(msg);
longPolling(); // 正常获取数据马上发起新请求
},
timeout:15000, //测试超时15s会不会报错,实际可以调大一点
error:function (error) {
console.log("ajax执行失败");
longPolling(); // 超时或报错则重新发起请求
}
})
}
</script>
<body>
<p>【操作】:<div><input type="button" id="short" onclick="shortPolling()" value="ajax短轮询"/><br/>
<p>【操作】:<div><input type="button" id="long" onclick="longPolling()" value="ajax长轮询"/><br/>
<p>【接收内容】:<div><textarea id="message" rows="10" cols="30"></textarea></div>
</body>
</html>
以上就是AJAX轮询示例的详细内容,更多关于AJAX轮询示例的资料请关注九品源码其它相关文章!