Ajax定时更新问题
Ajax timed update issue
简单地说,我有一个带有动画通知徽章的菜单栏,由CSS制作,并由HTML上的SPAN类实现。此标记应该显示新消息的计数,如果计数为0则消失。我需要每隔1秒检查一次,但是运气不好。
我的js:
<script type="text/javascript">
function removeAnimation(){
setTimeout(function() {
$('.bubble').removeClass('animating')
}, 200);
}
setInterval(function() {
$.ajax({
type: 'GET',
url: 'models/bubble.php',
data: 'html',
success: function(response){
document.getElementById("bub").innerHTML=response;
document.getElementById("bub").className = "bubble";
}
error: function(response) {
document.getElementById("bub").className = "hidden";
});
}
}, 1000);
</script>
my PHP (working and testing):
<?php
require_once("db.php");
$receiver = $this_user
$isnew = 1;
$stmt = $mysqli->stmt_init();
if ($stmt->prepare("SELECT * FROM messenger
WHERE receiver = ? AND isnew = ? ORDER BY timestamp")) {
$stmt->bind_param("si", $receiver,$isnew);
$stmt->execute();
$stmt->store_result();
$ttlrows = $stmt->num_rows;
$stmt->close();
}
echo $ttlrows;
?>
帮忙吗?
你需要在success内部再次调用函数,因为setTimeout/setInterval只会在你提到的延迟
之后调用函数一次。setTimeout('pullNewMessageCount()', 100);
function pullNewMessageCount() {
var url = 'PHP Url';
$.ajax({
url: url,
dataType: 'html',
data:{
"whatever data you want to send, skip it if not require",
},
type: 'POST',
success: function(latestCount) {
setTimeout('pullNewMessageCount()', 100);// Important comment (this what you need to do)
},
error: function(jqXHR, textStatus, errorThrown) {
}
});
}
相关文章:
- 如何在一个时间间隔后追加新的更新
- 使用新项目更新KendoUI网格数据源
- 使用新值更新时出现数组问题
- 使用Plotly中的新数据更新图形的高性能方法
- MySQL 按行[id]使用新信息更新“n”行数
- 使用新数据更新 D3 饼图.json
- 对数据库进行 AJAX 编辑时,我是否应该立即使用新数据更新接口
- 使用从 MongoDB 获取的新数据更新对象属性
- 可以't使用新对象更新localStorage
- 通过主干问题更新parse.com
- 用新值更新JQVMap-map(颜色更改)
- Three.js-Chrome新的更新问题
- Render_template()无法工作,无法用新数据更新页面
- 如何使用REST API用新值更新字段
- React-redux, connect函数不使用新数据更新状态
- Angular的新问题:它应该放在服务中还是留在控制器中?
- D3.js用新数据更新轴
- 用新数据更新图形
- 问题更新Adobe分析变量通过数据元素在动态标签管理器- DTM
- AngularJS用新数据更新特定字段