【发布时间】:2014-09-09 03:54:28
【问题描述】:
我是 JQuery 的新手。我想在调用“成功”函数时递归调用“pullNotification”函数作为长轮询,但是当从浏览器调用请求时,我的脚本两次被称为“pullNotification”函数。所以请指导我如何解决它。以下是我的脚本。提前致谢。
jQuery(function($) {
var data = [];
function pullNotification() {
var params = {};
new RPC.Call({
'method': 'users.getJsonUsers',
'params': params,
'onSuccess': success
});
};
function success(result) {
if (data.length != 0)
{
for (var i = 0, item; item = result[i]; i++) {
for (var k = 0; k < data.length; k++)
{
if (item.userid == data[k])
{
this.found = true;
break;
}
}
if (this.found)
{
this.data.push(item.userid);
$('<tr origclass="even_row" class="even_row">\n\\n\
<td>' + item.userid + '</td>\n\
<td>' + item.alias + '</td>\n\
<td>' + item.surname + '</td>\n\
</tr>').insertAfter('.nilar');
}
this.found = false;
}
}
else {
for (var j = 0; j < result.length; j++)
{
data.push(result[j].userid);
}
}
setTimeout(function() {
pullNotification();
}, 1000);
}
window.setTimeout(function() {
pullNotification();
}, 5000);
});
【问题讨论】:
标签: javascript jquery long-polling