具有通知系统和私人消息系统的网站使用setInterval来更新相关的2个div而不重新加载页面。
因此我使用:
<script>
$(document).ready(function () {
setInterval(function() {
$.get("notifi_reload.php?n=1", function (result) {
$('.notifications').html(result);
});
}, 10000);
setInterval(function() {
$.get("notifi_reload.php?n=2", function (result) {
$('.private_messages').html(result);
});
}, 10000);
});
</script>
notifi_reload.php只给出一个数字。代码:
$notifi = $_GET["n"];
// 1 = notification
if ($notifi == 1)
{
echo $user->data['user_notification_count'];
} else{
// 2 = PM
echo $user->data['user_new_privmsg'];
}
问题:
我每10000秒 2 $ .get请求。是否有可能只有 1 $ .get请求?也许我可以构造notifi_reload.php来同时存在?
谢谢
答案 0 :(得分:2)
$(document).ready(function () {
setInterval(function() {
$.ajax({
dataType: "json",
url: "notifi_reload.php",
success: function(result){
$('.notifications').html(result.notif);
$('.private_messages').html(result.private_msg);
}
});
}, 10000);
});
和PHP
$data = array();
$data['notif'] = $user->data['user_notification_count'];
$data['private_msg'] = $user->data['private_msg'];
echo json_encode($data);