因此,我正試圖建立一個簡單的功能,以帶來兩個用戶之間的所有資訊。就像一個聊天應用程式。我正在使用setInterval來重繪 訊息,以防某些用戶在資料庫中插入新的訊息,但有些事情正在發生。 當我選擇一個對話,然后選擇另一個對話時,該函式在顯示新選擇的對話的訊息之前,會先帶回上一個對話的訊息,持續一秒鐘。這里是:
// load messages
$(".from_messages").click(function() {
$("#messageList").empty() 。
var from = $(this).attr('user_id')。
var user = <?php echo $_SESSION['user_id']; ? > 。
$("input[name='to']").val(from)。
retrieve(from, user)。
})
//Interval[/span]。
function retrieve(from, user) {
var interval = setInterval(function(>/span>) {
$("#messageList").empty() 。
$.ajax({
url: "server.php"。
method: "post",
dataType: "json",
data: {"from"/span>: from, "user": user},
success: function(response) {
if(response != ""/span>) {
$(response).each(function(index, item) {
if(item.from_id == user) {
$("#messageList").append('<div class="col-12 text-right"><p class="w-50 ml-auto">- ' item. message '</p></div><br>')。)
} else {
$("#messageList").append('<div class="col-12"><p class="w-50">- ' item。 message '</p></div><br>')。)
}
})
}
}
})
}, 3000)
}
如果有人能幫助我們,我們將為他們提供幫助。
如果有人能幫助我,我將永遠感激不盡。這里有一個鏈接,我希望它能說明我所面臨的問題。視頻演示
uj5u.com熱心網友回復:
setInterval(f, n)將每隔n毫秒發射f,直到你清除這個間隔。當您呼叫setInterval時,它回傳一個對間隔的參考。保存該參考,并在您想要停止該間隔時呼叫clearInterval(reference)--在這種情況下,在您選擇不同的對話時創建一個新的間隔之前。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/307634.html
標籤:
上一篇:Rails中blueprinter串行器自定義欄位中的Rubocop警告SymbolProc
下一篇:<p>當我從視圖中進行AJAX呼叫并將表單資料傳遞給控制器時。我遇到了幾個問題。首先,成功內部的代碼從未被執行,其次,即使是AJAX呼叫,頁面也被重繪了。誰能告訴我,我哪里做錯了? <


