2015-12-22 69 views
-2

我是一個在PHP的新手。我製作了一個消息系統,但您必須手動更新帶有消息的iFrame。如何在收到新消息時更新此iFrame?PHP - 當收到新消息時更新iFrame

+2

爲什麼不使用AJAX來獲取新郵件 – chris85

+0

我不是很熟悉AJAX我怎麼能做到這一點? – jadenPete

+0

無限循環到服務器端...我希望你有一個很好的託管軟件包。如果你想從服務器請求中刪除很多壓力,你可能需要考慮使用web套接字,因爲這將提出一個請求一旦對數據庫進行了更改,它將會回覆,而不是每隔幾秒鐘請求所有數據。 – NewToJS

回答

1

如果您希望在加載頁面後定期輪詢服務器,則需要使用javascript定期向服務器發送請求,而無需重新加載頁面(這是AJAX的用途)。

如果您可以創建一個PHP消息,該消息返回在特定時間段後創建的所有消息,則可以使用javascript發送請求。

如果您在客戶端上使用jQuery,它會是這個樣子(檢查http://api.jquery.com/jquery.ajax/更多細節):

var timestamp = Date.now(); 
setInterval(function() { 
    $.ajax("/newmessage?timestamp=" + timestamp, { 
    success: function(data) { 
     //Do something with the new messages here 
     $("#messages").append("<div id='message'>" + data.message + "</div>"; 
    } 
    }); 
}, 10000); 
// Runs interval every 10000 milliseconds 

它也可以使用普通的JavaScript,但代碼將是一個有點不同。

如果你已經控制了服務器,還有其他的消息選項,使用websockets,它保持連接打開並來回傳遞消息(http://www.websocket.org/echo.html)。

相關問題