本文介绍了如何改变这种阿贾克斯code到长轮询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的ajax code所以请谁能告诉我怎样才能改变这种code到长轮询?

下面是我的code: -

  VAR聊天= {}
chat.fetchMessages =功能(){
  $阿贾克斯({
    网址:AJAX / AJAX / chat.php',
    键入:POST,
    数据:{方法:取},
    成功:功能(数据){
      $('#聊天)HTML(数据)。
    }
  });
}
chat.interval = setInterval的(chat.fetchMessages,1000);
 

解决方案

您必须把fetchMessage的下一个呼叫中的回调previous之一:

  VAR聊天= {}
chat.fetchMessages =功能(){
  $阿贾克斯({
    网址:AJAX / AJAX / chat.php',
    键入:POST,
    数据:{方法:取},
    成功:功能(数据){
      $('#聊天)HTML(数据)。
      chat.fetchMessages(); // 让我们再来一次
    }
  });
}
chat.fetchMessages(); //第一个电话
 

This is my ajax code so please can anyone tell me how can i change this code to long polling ?

Here is my code :-

var chat = {}
chat.fetchMessages = function () {
  $.ajax({
    url: 'ajax/ajax/chat.php',
    type: 'POST',
    data: { method: 'fetch' },
    success: function(data) {
      $('#chats').html(data);
    }
  });
}
chat.interval = setInterval(chat.fetchMessages, 1000);
解决方案

You have to put the next call of fetchMessage in the callback of the previous one :

var chat = {}
chat.fetchMessages = function () {
  $.ajax({
    url: 'ajax/ajax/chat.php',
    type: 'POST',
    data: { method: 'fetch' },
    success: function(data) {
      $('#chats').html(data);
      chat.fetchMessages(); // let's do it again
    }
  });
}
chat.fetchMessages(); // first call

这篇关于如何改变这种阿贾克斯code到长轮询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 21:08