Bonjour,
Avant de commencer :
1. J'ai de bonnes bases en Java Script
2. Sauf que la POO en JS je débute
3. Mon code vaut ce qu'il vaut, je suis ouvert aux remarques (constructives?)
4. J'utilise Mootools pour de multiple raisons, et pas seulement pour lire mon fichier XML
Voici mon problème :
J'essaie donc de lire et parser un fichier XML pour créé quelque objets. En fait, la communication entre mon interface d'admin et mon appli js repose sur un fichier XML que je charge lors de l'initialisation de cette appli. J'utilise pour cela Mootools et un objet de mon cru (c'est ce qui coince bien sûr) :
Code :
function MyObject { var models; this.init = function() { this.loadXML(); } this.loadXML = function() { // Chargement du fichier xml var xmlRequest = new Request({ url : 'content.xml', method : 'get', async : false }); // Ok, lecture XML xmlRequest.onSuccess = this.parseXML; // Envoit de la requête xmlRequest.send(); } this.parseXML(responseTxt , responseXML) { // OSEF de ce qui se passe exactement // pour simplifier je fais des choses de ce genre this.models = new Array(); var i = new Object(); this.models.push(i); } } // On lance le bouzin window.addEvent('domready',function () { var app = new MyObject(); app.init(); });
|
Ma méthode parseXML() est bien exécutée (vérifié à coup de alert()). Le problème c'est que lorsque je fait appel à une autre méthode par la suite, j'ai une erreur qui me dit que this.models est indéfini. Je pense que c'est une histoire de contexte, je veux dire par là que dans le contexte où est exécuté ma méthode parseXML() le this doit pas pointer vers l'instance de ma classe et que du coup mon models initiale reste toujours dans un état non initialisé.
J'ai fais des recherches, testé pas mal de choses mais je vois pas du tout comment m'en sortir... Un peu d'aide?
Message édité par dwogsi le 30-09-2008 à 04:45:57
---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/