Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diasgabrie

ajax alertas em tempo real?

Recommended Posts

olá amigos,

 

estou tentando, sem exito, fazer um ajax a cada 5 segundos chamar um php para verificar se existe novas alertas para um usuário.

 

como eu poderia fazer isso?

 

estou no caminho certo? porque não quer funcionar?

 

js

$(document).ready(function(){

setTimeout(function() {

var element = $(this);
var I = element.attr("useralert");
var info = 'id=' + I;

 $.ajax({
   type: "POST",
   url: "alerts.php",
   data: info,
   success: function(data){
    if( data.status == "success" ) {
     alert("nova alerta");
    }
   }
 });
}, 5000);
});

html/php

<input type="hidden" id="useralert" value="$usuarionick">

queria que, assim que a página fosse aberta, o ajax ficaria perguntando de 5 em 5 segundos ao alerts.php se há novas atualizações.

como poderia fazer isso?

 

obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso me parece errado

var element = $(this); 
var I = element.attr("useralert");

O método attr() retorna o valor de um atributo informado

você passou próprio valor do atributo.

se quer o valor do input use o método val()

 

 

 

 

Ao fazer a consulta, se haver atualização, o alerts.php deve enviar algo para data

ai if (data) { ... .... .... ...}

 

O trecho é só um exemplo, altere pra funcionar ai

 
var I = $("#useralert").val();
var info = 'id=' + I;

setInterval(function() {
            $.ajax({
                url: "alerts.php",
                data: {
                usuario: usuarionick // cod usuario exemplo
                },
                success: function(data) {
                    if (data) {
                        alert("Este alert so aparece se o alert.php retornar alguma coisa")
                    }
                }
            });
 }, 5000);

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito obrigada!

 

deu certo!

 

fiz assim:

 

$(document).ready(function(){


setInterval(function() {


var I = $("#useralert").val();
var info = 'id=' + I;


    $.ajax({
      url: 'alerts.php',
      data: info,
      type: 'POST',
      cache: false,
      success: function(data){
       if( data.status == "success" ) {
        alert("ok!");
       }
      },
    });


 }, 5000);


});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.