0

私は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

4

1 に答える 1

4

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

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

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

于 2009-04-29T17:07:27.930 に答える