0
我正在开发一个简单的消息传递系统,客户将能够为每个项目创建对话并与项目经理进行通信。Ajax简单消息应用程序
到目前为止我已经创建的是通过jQuery和Ajax发送/删除消息。
<ul class="messages" id="messages">
<?php
foreach ($replies as $reply): // replies stores all messages for this current conversation between two users
?>
<li class="message" id="message"><?php echo $reply->content; ?><a href="<?php echo $reply->id; ?>" id="delete">delete</a></li>
<?php
endforeach;
?>
</ul>
但是,这有效。客户或项目经理能够看到他们的消息,但只能在刷新页面时看到答复。
有无论如何查询数据库的消息和更新列表与答复??
jQuery(function(){
$("#messages").on('click', '#delete', function(event) {
event.preventDefault();
var id = $(this).attr('href');
$.post("<?php echo base_url(); ?>messages/delete", { type:'single', id:id })
.done(function(data) {
});
$(this).closest('.message').remove();
});
$('#send').click(function(e){
e.preventDefault();
var reply = $('#reply').val();
var project_id = 44;
if(reply==""){
return false;
}
$.ajax({
type: "post",
url: "<?php echo base_url(); ?>messages/send",
data:{ msg:reply, project_id:project_id, user_id:2, admin_id:1},
success: function (response) {
if(response){
$(".messages").append('<li class="message">'+reply+'<a href="'+response+'" id="delete">delete</a></li>');
$('#reply').val('');
}else{
}
}
});
});
});
您可以每分钟轮询一次服务器以获取更新,您可以进行长轮询,也可以执行websocket。然后,您需要编写代码,将获取的数据回放并循环,将其置于布局的适当位置。 –