質問

私はYUIが比較的新しいです-彼らの素晴らしいドキュメントを閲覧していますが、外部リソースを同期的に読み込むためのメソッドやフラグが見つかりません。

またはその逆の質問。一致したノードごとに、ノードに何かを挿入するメソッドを呼び出す必要があります。非同期呼び出しでは、記憶されている 識別子が混乱しているようです。

したがって、コールバックはに固執する必要があります

pid

コールバックが実行されたときではなく、関数が呼び出されたとき-これは正しいですか?

var platform_ids = YAHOO.util.Selector.query('.platform_id'); 

for (var i = 0; i < platform_ids.length; i++) {
    var pid = platform_ids[i].getAttribute("id");
    var sUrl = "/platform/" + pid + "/description/";
    var callback = { success: function(o) { 
        document.getElementById(pid).innerHTML =  o.responseText; }}
    var transaction = YAHOO.util.Connect.asyncRequest(
        'GET', sUrl, callback, null
    );
}

ありがとう。 MYYN

役に立ちましたか?

解決

同期リクエストは必要ありません。ユーザーエクスペリエンスはひどい場合があります。 pid に依存しないように、コールバックに値を渡したいだけです(お気づきのように、コールバックが呼び出されると通常異なる値になります):

var callback = { success: function(o) 
  { 
    document.getElementById(o.argument).innerHTML =  o.responseText; 
  }, 
  argument: pid
};

ここでは、 argument コールバックメンバーを使用してIDを保持し、コールバック関数自体でそれを参照して、各コールバックが正しいIDを使用するようにします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top