我幾乎完成了幾個月前開始編寫的網站。我已經完成了基礎,但是,我想添加一些新功能,使其更快,並添加一些金光閃閃。用ajax動態檢查郵件收件箱?
目前,我有系統,從而PHP查詢數據庫,看看是否有任何未讀的消息,每次頁面發出新的頁面請求。如果用戶有未讀消息,php會回覆引號內未讀消息的數量。
我該如何使用ajax或jquery來回顯未讀消息的數量而不必發出新的頁面請求?
感謝
我幾乎完成了幾個月前開始編寫的網站。我已經完成了基礎,但是,我想添加一些新功能,使其更快,並添加一些金光閃閃。用ajax動態檢查郵件收件箱?
目前,我有系統,從而PHP查詢數據庫,看看是否有任何未讀的消息,每次頁面發出新的頁面請求。如果用戶有未讀消息,php會回覆引號內未讀消息的數量。
我該如何使用ajax或jquery來回顯未讀消息的數量而不必發出新的頁面請求?
感謝
創建一個腳本,只有呼應未讀郵件的數量(不含任何其他HTML),然後使用jQuery來得到它:
$('#span_with_numer_of_messages').load('your_unread_messages_script.php');
您可以設置定時要求,像這樣:
var element = $('...');
// new get request every minute - 60*1000ms
var interval = setInterval(function(){
element.load('/phpfile.php');
}, 60000);
在你/phpfile.php 輸出結果和編碼陣列JSON格式。例如,您可能有查詢
<?php
include 'config.php';
include 'opendb.php';
$query = "SELECT message FROM messages";
$result = mysql_query($query);
$jarray = array();
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$jarray[] = array("message"=>$row['message']);
}
echo json_encode($jarray);
include 'closedb.php';
?>
獲取帶有ajax的json數組。
var messagesContainer = $('messages');
$.getJSON('phpfile.php',function(data)
{
$.each(data, function(i,stuff){
$("<div class='msg'>"+stuff.message+"</div>").prependTo(messagesContainer);
}
})
學會接受答案和upvote。人們在這裏捐助他們的時間來幫助他人,他們希望感到欣賞,這就是我們如何在堆棧溢出/交換中展示它。 – webbiedave 2010-11-12 16:44:27