我使用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);
}
});
});
我应该在哪里发出警报("收到新消息");这样它只会在收到消息时弹出。
如果我将警报置于成功功能中,它会每秒弹出一次。
答案 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);
}
});
});