Synchron-GET-Anfrage mit YUI 2.7?
-
03-07-2019 - |
Frage
ich bin relativ neu in YUI - gerade ihre große docs, ich finde kein Verfahren oder einen Flag eine externe Ressource laden synchron .
oder die Frage umgekehrt; für jeden passenden Knoten benötigen i, ein Verfahren zu nennen, das etwas an dem Knoten einfügt; mit asynchroner ruft die in Erinnerung Bezeichner scheinen zu vermasseln.
daher der Rückruf an die haften müssen
pid
, wenn die Funktion aufgerufen wird, nicht, wenn der Rückruf ausgeführt wird - soll ich das richtig hinzubekommen
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
);
}
Dank. MYYN
Lösung
Sie wollen nicht eine synchrone Anfrage. Die User Experience kann schrecklich sein. Sie wollen wirklich nur um einen Wert zu Ihrem Rückruf zu übergeben, so dass es nicht auf pid
verlassen (was, wie Sie vielleicht bemerkt haben, wird in der Regel einen anderen Wert hat, wenn Ihr Rückruf aufgerufen wird):
var callback = { success: function(o)
{
document.getElementById(o.argument).innerHTML = o.responseText;
},
argument: pid
};
Hier verwende ich das argument
Rückruf Mitglied die ID und Referenz zu halten, dass in der Callback-Funktion selbst, jeden Rückruf, um die korrekte ID verwendet wird.