YUI 2.7との同期GETリクエスト?
-
03-07-2019 - |
質問
私は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を使用するようにします。
所属していません StackOverflow