J'ai essayé de comprendre comment initialiser un objet à l'aide d'un prototype afin d'échapper à l'utilisation de variables globales, ce que j'ai découvert pour la première fois à propos de here. J'ai commencé à implémenter ma propre version du code trouvé dans la réponse acceptée.Utilisation d'objets pour remplacer correctement les variables globales
function XML_Data() {
this.data = null;
}
XML_Data.prototype = {
GetXML: function() {
$.ajax({
type: "GET",
url: "questions.xml",
dataType: "xml",
success: function(xml) {
this.data=xml;
} //close success
});//close AJAX
},
UseXML: function() {
alert(this.data)
}
};
(Ma mise en œuvre du script)
Cependant, j'ai rencontré un problème. Quand j'exécute les fonctions montrées ici en utilisant ce peu de code:
var data = new XML_Data();
data.GetXML();
data.UseXML();
Je reçois une alerte qui indique "null". J'ai déjà lu le code une douzaine de fois, mais comme c'est la première fois que je travaille avec Javascript, il y a quelque chose que j'ai manqué. Pourriez-vous le signaler?
Merci, Elliot Bonneville.
Voulez-vous utiliser immédiatement les données Ajax? À quelle fréquence obtenez-vous de nouvelles données via Ajax? –
Juste une fois, au début de l'appel. –