Para solucionar o problema do cache com request do tipo GET, basta
adicionar na URL uma variavel com um numero randomico ... por exemplo:
var randomNumber = Math.floor((Math.random() * 101));
new Ajax.PeriodicalUpdater('products', 'exemplo.php?rand=' +
randomNumber,
{
method:'get',
insertion: Insertion.Top,
*frequency: 2 ...
Sempre que preciso lidar com problemas de cache no ie, uso essa
solução.
Espero ter ajudado.
Abs.
On 3 dez, 14:27, "Willians de Paula" <
williansdepa...@gmail.com>
wrote:
> Bom pra resolver isso com AJAX, você poderia ficar fazendo requisições de
> tempo em tempo pra saber se os dados foram atualizados, é claro que existem
> formas diferentes de você saber se os dados foram atualizados em tempo real.
>
> Enfrentei esse problema um dia desses precisava da atualização dos dados em
> tempo real, porém como era uma requisição rápida eu consegui fazer de 1 em 1
> segundo, utilizei a biblioteca prototype com a função *
> Ajax.PeriodicalUpdater.*
>
> Essa função faz atualização da sua requisição de tempo em tempo, setado por
> você.
> Exemplo:
>
> *Ajax.PeriodicalUpdater*
>
> Sabe aquela situação chata onde você tem que criar uma situação onde de 10
> em 10 segundos tem que requisitar algumas informações para atualizar
> determinado lugar ?
>
> Então, Ajax.PeriodicalUpdater nele:
>
> new Ajax.PeriodicalUpdater('products', 'exemplo.php',
> {
> method:'post',
> insertion: Insertion.Top,
> *frequency: 2,
> decay: 2*
>
> });
>
> <div id="products"></div>
>
> Para um teste a página exemplo.php poderia ser assim:
>
> <?php
>
> echo date('H:i:s');
>
> ?>
>
> A hora irá atualizar de 2 em 2 segundos
>
> Frequência ? hmm tempo em segundos que ocorrerá as requisições, Decay ?
> Decay ? eita, decay é o tempo também em segundos que será multiplicado pela
> frequencia caso já esteja acontecendo uma requisição para não sobrecarregar
> o servidor.
>
> Exemplo foi tirado desse sitehttp://
nodesign.wordpress.com/2007/11/14/ajax-facil-e-eficiente-com-p...
>
> Ah, um lembrete pra vc não passar o que eu passei, com o IE essa função não
> funciona se vc passar a requisição por método 'get', solução para isso
> utilize método 'post', funcionará nele e nos demais navegadores, é porque me
> parece que o IE tem um problema de cache
>
> Me ajudou bastante esse site pra entender como funcionava a biblioteca
> prototype, pode ser útil pra você tb.
>
> 2008/12/3 Anderson Aguiar <
revsof...@gmail.com>
>
>
>
> > Keitty ele falou que queria isso usando AJAX? oO
>
> > 2008/12/3 Keitty Suélen <
ksama...@gmail.com>
>
> >> Já faz um tempo que pesquiso como atualizar a página somente se houver
> >> atualização no BD, porém, não tive sucesso. O máximo que consegui encontrar
> >> foi um tal de AJAX Reverso mas na época nao cumpria o que prometia
>
> >> Você pode atualizar a página automaticamente num intervalo de tempo
> >> determinado usando a função javascript settimeout() para chamar a função
> >> ajax correspondente ao carregamento da página e para só atualizar qndo
> >> houver alteração no banco faça o seguinte:
> >> Guarde o objeto (ou o recordset, ou array) com os dados que esta mostrando
> >> na tela e compare com o novo resultado vindo do banco se for diferente
> >> recarega a página.
>
> >> 2008/12/3 Juscelino Barão <
juscelinoba...@gmail.com>
>
> >>> Pessoal,
> >>> desculpa a pergunta um tanto primária, mas vamos lá...
>
> >>> Gostaria de saber se existe a possibilidade de toda vez que inserir/
> >>> alterar dados em uma tabela no BD, atualizar automaticamente a página
> >>> que mostra esses dados.
>
> >>> Qual caminho trilhar?
> >>> Aceito sugestões de links, pois a minha pesquisa no Google não foi
> >>> muito eficiente.
>
> >>> Atenciosamente
>
> >>> Juscelino Barão
>
> >> --
> >> Keitty Suélen
> >> -----------------------------------------------
>
> > --
> > ----------------------------------------
> > Att Anderson Aguiar
> > Cel: 8811-0465
> > Site:
www.revsoft.info
> > E-mail:
revsof...@gmail.com