[Resolvido]Atualizar uma tabela de dados com Jquery [Ótimo para quem passou por mesmo]

Olá a todos,

Estou desenvolvendo um CMS com Jquery e Ajax (e PHP). Por isso todo CMS é uma página só, tudo é feito de modo assincronico e as operações de banco é feito pelo Ajax.

Quando insiro um dado no banco, eu preciso atualizar ou dar f5 na página para ele aparecer numa tabela.

Há como atualizar uma tabela ou div sem dar f5?

Grato

Você pode tranquilamente criar um objeto e inserir no DOM da sua tabela.

Pode ser um pouco trabalhoso dependendo de como você estruturou sua página, mas é possível.

Abs

[quote=paulohrl]Você pode tranquilamente criar um objeto e inserir no DOM da sua tabela.

Pode ser um pouco trabalhoso dependendo de como você estruturou sua página, mas é possível.

Abs[/quote]

Por exemplo, tem alguma função, tipo:

$("#id_da_div").refresh() //ou
$("#id_da_div").reload() //ou
//etc.

Precisava que ele populasse a tabela assim que terminasse de inserir o dado. Já estou inserindo pelo ajax. Só precisava que ele populasse sem dar refresh na página.

Primeiramente, para atualizar uma parte do código HTML , seja uma div ou uma tabela contendo dados:


$("#seu_elemento").load("pagina.html(ou extenção que for) #elemento_a_ser_atualizado") //parte da mesma página

Porém, posteriormente tive problema com IE (sempre :twisted: :twisted: :evil: :evil: :evil: :evil: ). O Load nao funciona no IE.

Fiquei até madrugada procurando solução (veja a hora do post), e descobri que IE tem um esquema de cache que impede a atualização pelo load() do jQuery.

Solução foi colocar esse código PHP (a página foi feita em PHP, se for Java, a soluçao é parecida):

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Data já vencida
?>

Abraço a todos

esta solução atualiza a tabela ao clicar em um botão ou algo assim, como manter essa tabela atualizada automaticamente, por exemplo, a cada segundo ???

Voce pode usar o setInterval

Funcionou, mas o servidor trava depois de algum tempo reclamando de falta de memória
Core 2 duo 4 gb RAM apenas eu conectado testando…