Firefox JQuery AJAX:并不总是显示提取的数据

时间:2012-01-18 10:03:51

标签: firefox jquery

我有以下功能:

function fnGetIdentifiers(id){
    $.get(
    'getCultureIdentifiers.php?cultureID=' + id,
    function(data){
        if (data.length > 0){               
            var identifiers = '';
            $.each(data, function(index, value){                    
                identifiers += value + ', ';
            })                
            $('#identifiers').text(identifiers.substring(0, identifiers.length - 2));
        }
    }, 
    "json"
    );
}

标签标识符在此上下文中:

<dt>Identifiers</dt><dd id="identifiers"></dd>

这将显示表中当前所选行的详细信息(jquery datatables插件)。选择不同的行时,应更新信息。这在IE8中运行得非常好。 但是在Firefox 3.6和9.0.1中,有时dd元素是空白的,即使ajax请求返回了正确的数据(使用firebug验证)。更令人困惑的是,有时但并非总是你可以在非常短的时间内看到数据,然后它再次消失。

任何想法如何解决这个问题? 请注意,在行更改时,还有另一个AJAX请求也会获取详细信息数据。这个也总是适用于Firefox。它们的运行顺序无关紧要。行为是一样的。

1 个答案:

答案 0 :(得分:0)

像往常一样过早发布这个5分钟......就在明显的“顿悟”之前。

提到的“其他AJAX请求”清除列表中所有dd元素的内容,因为调用是异步顺序无关紧要。 - &GT; dd元素标识符正确更新(通过眼睛可见),然后第二个请求几乎总是需要更长的时间来获取数据再次清除它。 解决方案:不要在第二次调用中清空标识符元素:

if($(this).attr('id') != 'identifiers'){
    //...