对成功的ajax请求发出警报

时间:2017-06-03 06:14:41

标签: jquery ajax

我使用ajax和jquery构建了一个聊天系统。我想要在收到消息时弹出警报。

这里是接收新消息的ajax代码

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

我应该在哪里发出警报("收到新消息");这样它只会在收到消息时弹出。

如果我将警报置于成功功能中,它会每秒弹出一次。

1 个答案:

答案 0 :(得分:2)

尝试这样的事情:

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);
     }
  }); 
});