PHP - 收到新消息时更新 iFrame
PHP - Update iFrame When A New Message is Recieved
我是 PHP 的新手。我制作了一个消息系统,但您必须使用消息手动更新 iFrame。如何在收到新消息时更新此 iFrame?
如果您希望在页面加载后定期轮询服务器,则需要使用 javascript 定期向服务器发送请求而无需重新加载页面(这就是 AJAX 用于).
如果您可以发送 php 条消息,其中 returns 所有消息都是在特定时间段后创建的,则可以使用 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)。
谢谢大家!这是我所做的(我从 http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931 那里借来的,由 chris85 建议:
<script>setInterval(function(){document.getElementById("messages").src += "";}, 2000);</script>
我是 PHP 的新手。我制作了一个消息系统,但您必须使用消息手动更新 iFrame。如何在收到新消息时更新此 iFrame?
如果您希望在页面加载后定期轮询服务器,则需要使用 javascript 定期向服务器发送请求而无需重新加载页面(这就是 AJAX 用于).
如果您可以发送 php 条消息,其中 returns 所有消息都是在特定时间段后创建的,则可以使用 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)。
谢谢大家!这是我所做的(我从 http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931 那里借来的,由 chris85 建议:
<script>setInterval(function(){document.getElementById("messages").src += "";}, 2000);</script>