我有一个间隔来启动 AJAX 调用以检查页面是否有任何更新(我想它类似于 Facebook 或 StackExchange 用于检查新通知的机制)。问题是此调用将光标更改为“进度”或“忙碌”光标(视觉问题)并禁用单击链接的选项(功能问题)。
我想这两个问题是相关的。如何才能摆脱这种影响或至少将后果降至最低?
一些代码:
setInterval(function() {
try {
var mid = $($("ul#alert-messages li.regular")[0]).attr('ref');
call_ajax('/load_alerts', {num:0, id:mid}, function (data) {
if (data.ok) {
for (var i=0; i<data.result.length; i++) {
// ....
}
// ...
}
}, function() {}, // Do not show any error for this!!
false); // Do not change cursor!
} catch (e) {}
}, 15000);
function call_ajax(url, data, fnSuccess, fnError) {
$.ajax({
'url': url,
'type': 'POST',
'data': data,
'dataType': "json",
'success' : function(data) {
if (fnSuccess) {
fnSuccess(data);
} else {
if (typeof data.msg != 'undefined') {
topBar(data.msg, typeof data.ok != 'undefined' && data.ok? 'message' : 'error');
}
}
},
error : function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
if (fnError) {
fnError(STR_ERROR_AJAX + textStatus);
} else {
topBar(STR_ERROR_AJAX + textStatus, 'error');
}
}
});
}