2017-06-03 4 views
0

Ich baute ein Chat-System mit Ajax und Jquery. Ich möchte, dass eine Warnung angezeigt wird, sobald eine Nachricht empfangen wird.Warnung bei erfolgreicher Ajax-Anfrage

Hier ist der Ajax-Code, um eine neue Nachricht

$(document).ready(function ajax(){ 
    $.ajax({ 
    type: 'GET', 
    url: 'recieve.php', 
    dataType: 'html', 
    success: function(response){ 
     $("#message").html(response); 
    }, 
    complete: function(){ 
     setTimeout(ajax,1000); 
    } 
    }); 
    }); 

zu erhalten, wo ich Alarm sollte gesetzt („Neue Nachricht empfangen“); so dass es nur erscheint, wenn eine Nachricht empfangen wird.

Wenn i Alarm in Erfolg Funktion setzte es knallt jede Sekunde.

+0

Da Ihre Funktion wird die Warnung Popup jede Sekunde jede Sekunde ausgeführt wird. Sie müssen die Antwort und bedingte Warnung basierend darauf überprüfen, ob es eine neue Nachricht gibt – Colwin

+0

ich weiß, und will nur wissen, wie – Arun

+0

versuchen, ein Framework zu verwenden, das in der Lage ist, Nachrichten vom Server zu pushen, ohne die Notwendigkeit von Clients jedes Mal zu verlangen . wie 'signor' – Mark

Antwort

2

so etwas wie dieses Versuchen:

var msg_res =''; //store the previous response 
$(document).ready(function ajax(){ 
    $.ajax({ 
    type: 'GET', 
    url: 'recieve.php', 
    dataType: 'html', 
    success: function(response){ 
     $("#message").html(response); 
     //if response changed, not the same as in msg_res 
     if(response != msg_res){ 
     msg_res = response; //store new response 
     alert('New message received'); 
     } 
    }, 
    complete: function(){ 
     setTimeout(ajax,1000); 
    } 
    }); 
}); 
+0

vielen Dank :) das ist genau das, was ich gesucht habe – Arun

Verwandte Themen