Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
Quero atualizar uma div somente quando houver mudança em um determinado campo no banco de dados, atualmente estou usando setTimeout(listComment, 3000);, mas quero mudar para websocket por questões de desempenho e o impacto que causa no tráfego. Procurei alguns exemplos na internet, mas só achei exemplos de chats, e não é o que eu preciso.
Alguém tem uma dica de como checar mudanças no bd com websocket somente em uma determinada div?
Gostaria de implementar no código abaixo:
<div id="output"></div>
<script>
function listComment() {
$.post("listar.php",
function (data) {
var data = JSON.parse(data);
var comments = "";
var replies = "";
var item = "";
var parent = -1;
var results = new Array();
var list = $("<ul class='outer-comment'>");
var item = $("<li>").html(comments);
for (var i = 0; (i < data.length); i++)
{
var commentId = data[i]['comment_id'];
comments = "<div class='comment-row'>" +
"<div class='comment-info'><span class='commet-row-label'>de</span> <span class='posted-by'>" + data[i]['comment_sender_name'] + " </span> <span class='commet-row-label'>às</span> <span class='posted-at'>" + data[i]['date'] + "</span></div>" +
"<div class='comment-text'>" + data[i]['comment'] + "</div>" +
"<div><a class='btn-reply' onClick='postReply(" + commentId + ")'>Responder</a></div>" +
"</div>";
var item = $("<li>").html(comments);
list.append(item);
var reply_list = $('<ul>');
item.append(reply_list);
listReplies(commentId, data, reply_list);
// }
}
setTimeout(listComment, 3000);
$("#output").html(list);
});
}
</script>
Muito Obrigado!Carregando comentários...