单击工具提示时触发以下功能。这是一次ajax调查。
页面上可能有许多工具提示,并且多个工具提示可能需要访问从服务器检索的数据。
我想要实现的是将此轮询作为一个实例运行 - 因此,如果用户单击不同的工具提示,则轮询将停止,而不是重复。
如果你能提供帮助,将不胜感激。
由于
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()
}
答案 0 :(得分:0)
我不怀疑有更好的方法可以做到这一点,但我通过点击函数生成一个随机数来解决问题,存储在$('body')中.data('random')然后将其传递给poll函数。当poll函数循环时,它会检查它传递的随机数是否与data-random中的随机数匹配,如果不匹配则返回false。