Client-side atualizar página

Oi Galera !! Estou fazendo uma aplicação que é um comunicador instantâneo, basicamente um tipo de “What’s up !”. Mas a única coisa que me impede de finalizar é que não estou conseguindo atualizar a página do lado do cliente para que ele receba as respostas em tempo-real e vice-versa, ele tem que ficar atualizando manualmente (F5). Alguém teria uma ideia de como poderia atualizar no momento que fosse disparado um evento de botão ?? Eu já tentei atualizar com a função HEADER do php e LOCATION.RELOAD() do Jquery, mas não deu certo. Agradeço qualquer ajuda !!

vamos la

vc pode forçar o reload da pagina, mas o efeito disso é muito ruim. recarregar tudo? tem certeza?

o que vc quer é atualizar a pagina via AJAX.

Faça um pequeno codigo javascript com jQuery. a cada x segundos vc vai requisitar de forma assincrona se existe alguma novidade. se existir, vc vai receber as mensagens e vai adicionar no DOM da pagina. o vulgo AJAX

N’ão é muito diferente de um “scroll infinito”. vc vai ter um container que contem as mensagens e vc vai adicionar as novas via javascript. o que vc vai precisar é de um serviço que retorne as ultimas mensagens baseadas em alguma coisa.

por exemplo vc pode retornar um JSON contento a lista de mensagens. cada mensagem tem uma serie de informacoes: quem mandou, data, etc. vc pode salvar a ultima data e perguntar "ei senhor servidor, tem alguma mensagem após a data X ? " que pode ser um timestamp em segundos de 1/1/1970, ou vc pode receber simplesmente um id ou contador de mensagens e ai pergunta “depois da mensagem X, tem algo a mais?”

e ai vc pode responder com os codigos de status http mais adequados.

1 curtida

Brigado pela ajuda, amigo !! Quanto ao que você falou no começo sobre forçar um reload da página, recarregar tudo… acho que não teria problema porque a página que iria recarregar em um Iframe !! E outra… dessas tarefas que você me explicou qual delas faz com que o servidor atualize com o client-side em tempo-real ? É utilizando Ajax ?? Agradeço as instruções que você me passou mas é porque meu projeto foi feito de outra forma (criando as mensagens em paginas HTML e exibindo em um Iframe) e eu não posso mudar muito !!

Ola

Ajax pode te ajudar. é bem melhor que fazer reload de qq coisa, seja iframe ou nao.

1 curtida

Obrigado pela força, amigo !!