【发布时间】:2026-02-23 13:45:01
【问题描述】:
我正在为我的用户提供消息服务。我使用 AJAX 发送消息而不刷新消息。我想自动从数据库中获取新行(如果当前用户或对方用户输入任何消息),而不刷新旧消息。
<div id="readmsg">
#The messages is to be read here....
</div>
<textarea placeholder="Write your message.." id="msg"></textarea>
<input type="submit" value="Send" id="sendmsg">
<?php $user1 = 1; $user2 = 2; ?>
<script type="text/javascript">
$(document).ready(function(){
$("#sendmsg").on("click",function(e){
e.preventDefault();
var usera = <?php echo $user1.";";?>
var userb = <?php echo $user2.";";?>
var msg = $("#msg").val();
$.ajax({
url : "sendmessageprocess.php",
type : "POST",
data : {message:msg, user1:usera, user2:userb},
success : function(data){
document.getElementById("msg").value="";
$("#msg").val("");
}
});
})
});
</script>
【问题讨论】:
-
您目前如何检查代码中的新消息?
-
(NB 实时聊天应用程序在使用 websockets 或 AJAX 和服务器发送事件的组合实现时会更加高效。仅 AJAX 的解决方案可以工作,但效率低下因为客户端必须定期轮询服务器以获取新消息,而不知道是否有任何新消息实际上可用。我的意思是,您应该考虑是否要以不同的方式实现此功能。)
标签: php jquery mysql ajax chat