2010-02-12 5 views
0

Cela peut aussi être simple Javascript lié, mais voici le lien vers IO juste au cas où: YUI3 IOYUI3 IO question de déroulement du programme

J'ai une instance YUI créé et je suis en utilisant la fonction io pour récupérer des données à partir du serveur.

YUI().use('event', 'node', 'io', function(Y) { 

    Y.on('io:start', onstart, this, true); 
    Y.on('io:success', changecontent, this); 
    Y.on('io:end', onend, this, true); 

// irrelevant code has been omitted 

function loadpage(e) { 
    var request = Y.io(uri+"/"+tgt); 
} 

}); 

Est-ce que cela signifie que si je, à tout moment, utilisez Y.io au démarrage/succès/fin, il appellera onstart/changecontent/fin respectivement?

Je souhaite effectuer plusieurs appels sur le serveur mais avoir des fonctions différentes pour gérer les résultats de chaque appel. Comment ferais-je cela?

Merci.

Répondre

1

Oui, comme vous le faites, les événements sont globaux. Cependant, vous pouvez passer une option de configuration qui ne s'applique qu'à un seul XHR. Cela devrait être quelque chose comme:

Y.io(uri + "/" + tgt, { 
         "on": 
          { 
           "start": onstart, 
           "complete": changecontent, 
           "end": onend 
          }, 
         "context": this 
         }); 
+0

Si je place les événements dans la fonction de chargement, cela les enlèvera-t-il de leur statut global? qu'est-ce qu'un XHR? – user103219

+0

XHR est l'abréviation de XMLHttpRequest (http://en.wikipedia.org/wiki/Xmlhttprequest). Et oui, si vous les mettez uniquement dans l'appel direct, ils ne seront pas actifs globalement. –

+0

Merci, cette fonctionnalité est-elle documentée quelque part? Cela a fonctionné mais j'ai dû enlever "Dispatch" et les changer aux noms de fonction corrects. à quoi sert "Dispatch"? Je n'ai pas réussi à trouver cette utilisation dans les documents YUI3. – user103219