1

私が作成している Web サイトには、複数のページで使用される情報があります。私が設定した方法は、情報がxmlファイルに保存されることです。次に、AJAX を使用して xml ファイルを読み込み、成功したら、th を追加する解析メソッドを呼び出します。

競合状態が発生しているようです。xml ファイルの解析が完了する前に、ページの読み込みが完了します。解析メソッドにアラートを追加すると、正常に動作します (これが競合状態だと思う理由です)。

function loadXML(link) {

$('#div1').load(link);
loadImage(link);

if (link == "news.html") {
    $.ajax({
        type: "GET",
        url: "news.xml",
        dataType: "xml",
        success: newsParser
     });
  }
}

オンラインで検索したところ、セマフォやタイムアウトの使用について見たことがあります。これらはどちらも私にとってはうまく機能していないようでした。

html ページが xml の前にロードされない場合、情報を追加する div はありません。また、特定のページに移動するたびに解析されないように、ページに移動してデータを保存するときにさまざまなxmlファイルをロードしようとしましたが、それを理解することに成功しませんでした.

提供されたヘルプに感謝します!

4

1 に答える 1

1

jQuery (既に使用している) を使用して DOM がロードされるのを待つことができます: $().ready()- http://api.jquery.com/ready/

$(document).ready(function(){ 
  $('#div1').load(link); 
  loadImage(link); 
  //etc..
}
于 2012-10-04T21:01:39.120 に答える