Javascript 如何摆脱';进展';光标?

Javascript 如何摆脱';进展';光标?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个间隔,启动一个AJAX调用来检查页面是否有任何更新(我认为这类似于Facebook或StackExchange用来检查新通知的机制)。问题是,此调用将光标更改为“进度”或“忙”光标(视觉问题),并禁用单击链接的选项(功能问题) 我想这两个问题是相关的。如何才能消除这种影响或至少将其后果降至最低 一些代码: setInterval(function() { try { var mid = $($("ul#alert-messages li.regular")[0])

我有一个间隔,启动一个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');
            }
        }
    });
}
setInterval(函数(){
试一试{
var mid=$($($)ul#alert messages li.regular”)[0]).attr('ref');
调用_ajax('/load_alerts',{num:0,id:mid},函数(数据){
if(data.ok){

对于(var i=0;i我认为在ajax调用中添加选项async:true就可以了。否则浏览器将冻结,直到ajax停止,而这不是您想要的

您可以发布一些代码吗?它在所有浏览器中都可以吗?您能用上的一个最小示例重现这个问题吗?@Xeon06:我在FF a中遇到过这个问题nd Chrome(Linux)。没有在其他系统中测试过。无法提供js示例,因为我需要一个服务器端脚本来响应AJAX。Fiddles可以对模拟API进行AJAX调用——请参阅左侧的“测试AJAX请求”下拉列表。如果这是客户端问题,则应该可以使用任何虚拟数据进行复制(或者任何足够大的虚拟数据)。根据默认设置的async,无论如何我已经尝试过明确地设置它,并且得到了相同的结果:(你能发布一些代码吗?Ajax不应该这样做,你在使用哪个浏览器?