2012-01-18 1 views
0

が表示されていない私は、関数を以下た:FirefoxのjQueryのAJAX:フェッチされたデータは、常に

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では、ajaxリクエストが正しいデータを返すにもかかわらず、dd要素が空白になることがあります(firebugで確認)。さらに紛らわしいことは、データを見てからすぐに消えてしまうことがあります。

これを解決する方法はありますか? 行変更時には、詳細データを取得するAJAXリクエストもあります。これはFirefoxでも常に有効です。実行される順番は関係ありません。行動は同じです。

答えて

0

いつものように、この5分を早すぎて...明白な「出生時」の直前に投稿しました。

上記の「その他のAJAXリクエスト」は、リスト内のすべてのdd要素の内容をクリアします。呼び出しは非同期であるため、順序は関係ありません。 - > dd要素識別子が正しく更新され(目で見えるように)、データをフェッチするためにほとんどの時間がかかる第2の要求が再びクリアされます。 解決方法:2番目の呼び出しで識別子要素を空にしないでください。

if($(this).attr('id') != 'identifiers'){ 
    //... 
関連する問題