我正在尝试为博客的非活动文章创建通知按钮,并且我不希望管理员重新加载他/她的页面以查看提交的新非活动文章,所以我想使用AJAX来实现。
我将html数据添加到:
<ul id="menu1" class="dropdown-menu list-unstyled msg_list" role="menu">
但是我的代码仅在页面重新加载后才加载新结果。
而且,每个循环都重复相同的数据2次。
怎么了?
<script>
$.ajax({
type: "POST",
url: 'inc/file.php',
dataType: 'json',
success: function(response)
{
if (response) {
var html = '';
$.each(response, function(key, value){
html += "<li><a href='editArticle?id="+response.id+"&act='><span>"+response.title+"</span><span>"+response.story+"</span></a></li>";
})
$('#menu1').prepend(html);
$('#number').text(response.number);
}
}
});
</script>
这是我的file.php,仅提取一个数据:
<?php
require $_SERVER['DOCUMENT_ROOT'].'/config/init.php';
require CLASS_PATH.'article.php';
$article = new Article();
$list = $article->getInactiveArticle();
$number = $article->countInactiveArticle();
$output = [];
foreach ($list as $lists) {
$output['title'] = $lists->title;
$output['id'] = $lists->id;
$output['story'] = $lists->story;
$output['number'] = $number[0]->inactive_articles;
}
echo json_encode($output);
答案 0 :(得分:1)
尝试使用setTimeout()
功能。
function timeout() {
setTimeout(function(){
$.ajax...
timeout()
}, 3000);
}
答案 1 :(得分:1)
您可以测试以下代码块。
每5秒钟检查一次并执行操作。
onload