Jump to content
Fórum Script Brasil
  • 0

Requisição repetida, setInterval


Rodolfo Barreto

Question

Fala amigos desenvolvedores, sou novato aqui no forum mas espero que possam me ajudar nesse bug.

Trabalho com desenvolvimento web a uns anos e estou desenvolvendo um site de leilão.Como todos sabem um sistema de leilão tem um cronometro, esse cronometro é cadastrado pela área administrativa determinando o tempo máximo. Quando o sistema inicia o cronometro diminui até zero, se chegar a zero o produto é arrematado.

Até ai tudo muito bonito, o meu sistema funcionou porém quando outros usuários acessam o mesmo leilão o cronometro desconta a cada usuário "online" no site.

Ex: Um usuário = cronometro normal, dois usuários: diminui de dois em dois, três usuários: diminui de três em três

Fiz as requisições ao banco usando jquery e exibo para o usuário através do JSON, algo mais ou menos assim:

window.setInterval(atualizar_leilao,1000);

function atualizar_leilao(){
   $.post('atualizar_leilao.php',function(json){
      $('#cronometro').text(json.cronometro);
   });
}

Queria a ajuda de vocês para tentar fazer com que não exista esse bug de toda vez que um usuário acessar o site o cronometro correr duplicado ou triplicado dependendo da quantidade de usuários..

Acredito que esteja ocorrendo um chamado na função toda vez que o site é carregado, mas mesmo assim não faz muito nexo.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Movendo: Outras Linguagens de Programação --> Ajax, JavaScript, XML, DOM.

Poderia postar o código completo? É possível que você esteja chamando a função setInterval dentro de algum loop que percorre todos os usuários ou algo do tipo, de forma que a função é chamada uma vez para cada usuário.

Link to comment
Share on other sites

  • 0
Fala amigos desenvolvedores, sou novato aqui no forum mas espero que possam me ajudar nesse bug.

Trabalho com desenvolvimento web a uns anos e estou desenvolvendo um site de leilão.Como todos sabem um sistema de leilão tem um cronometro, esse cronometro é cadastrado pela área administrativa determinando o tempo máximo. Quando o sistema inicia o cronometro diminui até zero, se chegar a zero o produto é arrematado.

Até ai tudo muito bonito, o meu sistema funcionou porém quando outros usuários acessam o mesmo leilão o cronometro desconta a cada usuário "online" no site.

Ex: Um usuário = cronometro normal, dois usuários: diminui de dois em dois, três usuários: diminui de três em três

Fiz as requisições ao banco usando jquery e exibo para o usuário através do JSON, algo mais ou menos assim:

window.setInterval(atualizar_leilao,1000);

function atualizar_leilao(){
   $.post('atualizar_leilao.php',function(json){
      $('#cronometro').text(json.cronometro);
   });
}
Queria a ajuda de vocês para tentar fazer com que não exista esse bug de toda vez que um usuário acessar o site o cronometro correr duplicado ou triplicado dependendo da quantidade de usuários.. Acredito que esteja ocorrendo um chamado na função toda vez que o site é carregado, mas mesmo assim não faz muito nexo.
A cada requisição você deve enviar um dado diferente pois se não o navegador vai buscar o que tem em cache, tornado a pagina a mesma de antes. faça um tipo de um relogio contando um numero unico tipo no php
$n=strtotime(date('Y-m-d H:i:s');

e vai incrementando ele no js, para cada requisição envia-lo.

até mais.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...