0
您好我正在使用一個留言箱,我需要幫助通過ajax自動更新它們。Ajax自動更新沒有更新
這是我的發言欄與getShouts =真正的結尾:?
這裏是我的發言欄不說:
我的目標是運行一個Web請求並獲取「getShouts」中的留言箱內容並在我所在的頁面上進行更新。
T他的PHP代碼在頁面頂部運行:
if(!empty($_GET['getShouts']))
{
$sbinfo = "";
$rows = $db->query("SELECT * FROM shouts order by shoutid DESC limit 20");
while($row = $rows->fetch_array(MYSQL_ASSOC))
$sbinfo .= $row['username'] . ": " . $row['shout'] . "<br />";
}
將文本的標記存儲到一個字符串中。 if(!empty($_GET['getShouts'])) echo $markup;
這裏是我的ajax我目前正在運行:
<script>
$(document).ready(function() {
getMessages();
});
function getMessages()
{
//make request
var req = new XMLHttpRequest();
req.open("GET", location.href+"?getShouts=true", true);
req.send(null);
document.getElementById("shouts-box").innerHTML = req.responseXML.getElementsById("shouts-box")[0].innerHTML;
//loop
window.setInterval(getMessages,3000);
}
</script>
任何想法
在PHP文件後,它的顯示標記?
你可能要替換'和'setTimeout' setInterval'因爲每次訪問'getMessages'初始化一個新的'setInterval'時間,而其他人繼續跑。離開它一天,你的機器會卡住。 –
@MichaelSazonov感謝那 – MysteryDev