0

ツールチップをクリックすると、次の関数がトリガーされます。ajax投票です。

ページには多くのツールチップが表示される可能性があり、サーバーから取得したデータに複数のツールチップがアクセスする必要がある場合があります。

私が達成したいのは、このポーリングを 1 つのインスタンスとして実行することです。そのため、ユーザーが別のツールチップをクリックすると、複製されるのではなく、ポーリングが停止します。

お役に立てれば幸いです。

ありがとう

function doConversationsAjaxLongPoll(tablename){

clientSubmit = new Object;

// HERE WE'RE GOING TO GET A LIST OF THE ROWIDS THAT WE NEED TO POLL FOR, MAKE AN OBJECT OUT OF THEM. DO THIS BY LOOKING AT WHICH //TOOLIPS HAVE CLASS OPEN
var tooltips = [];
$('.tooltipOpen').each(function(index){
    tooltips.push($(this).data('idrow'))
})

console.log("tooltips length: " + tooltips.length)
    if(tooltips.length==0){
//      console.log("tooltip length is 0 so we're returning false")
        return false
    }

clientSubmit.OpenConversations = tooltips
clientSubmit.tablename = tablename
clientSubmit.CurrentData = $('body').data('conversations')

console.log(clientSubmit)

$.ajax({
  type: 'POST',
  url: '/conversations.php?loadNew=1',
  data: clientSubmit,
  timeout: 25000,
    success: function(data){
      console.log('success')
      data=JSON.parse(data)
      console.log(data)
      $('body').data('conversations', data)

    },
    complete: function(status, jqXHR){
    if(tooltips.length==0){
    //  console.log("tooltip length is 0 so we're returning false")
        return false
    }
    else
    {
      doConversationsAjaxLongPoll(tablename);
    }
    }
});
updateConversations()
}
4

1 に答える 1