Recuperation d'objets javascript distants

Résolu
gnienfo Messages postés 8 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 3 mai 2005 - 2 mai 2005 à 16:34
gnienfo Messages postés 8 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 3 mai 2005 - 3 mai 2005 à 16:26
Bonjour!





Je souhaite pouvoir récuperer des objets javascript construit par
un serveur distant (ou local de toute façon dans un premier tps).


Ce serveur se fait interroger sur une url particuliere (ayant les
arguments adequats) et renvoie un fichier javascript "reponse.js" dans
lequel se trouve mes objets qui ont été créé par le serveur.


le fichier "reponse.js" aurait cette forme là:


function mon_objet{


this.arg1 = "mon argument 1";


this.arg2 = "mon argument 2";


...


}


Je voudrais alors pouvoir recuperer cet objet afin de l'utiliser par la suite.





j'ai d'abors pensé à charger la page distante (renvoyant l'objet
js) dans une frame ou bien un input invisible par exemple puis ensuite
de recuperer le texte (grace à document.inerHTML) dans une chaine et
enfin de l'ecrire (document.write() ) dans ma page HTML entre des
balises <SCRIPT>





mais n'y a-t-il pas moyen de recuperr des objets javascript plus
facilement? sans etre obligé de generer des balises au niveau du
serveur. En effet la méthode inerHTML par du principe qu'il ya une
structure de page HTML or dans mon cas je ne recupere qu'un fichier js.





J'utilise ce principe du serveur renvoyant des objets/fichiers
javascript car ces fichiers sont générés à partir d'un parsing XML. Ne
voulant pas surcharger le client, je prefere mettre cette tache sur un
serveur qui s'occupera du parsing grace à une feuille de style XSLT et
generera un fichier .js.


Je réalise en fait un client javascript qui devra tourner sur mon pocketPC donc un terminal à faibles ressources.





Bon j'espere que je me suis fais comprendre;


si vous avez des questions... et même des réponses aux miennes... je vous en remercie d'avance!

3 réponses

gnienfo Messages postés 8 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 3 mai 2005
3 mai 2005 à 16:26
j'ai trouvé une méthode qui marche:



var xhr_object = null;

// Firefox

xhr_object = new XMLHttpRequest();



xhr_object.onreadystatechange = function() {



if(xhr_object.readyState 4 && xhr_object.status 200) {


continuation();


}

}

xhr_object.open("GET", "http://monserveur/trouc.js");

xhr_object.send(null);



function continuation(){



js = xhr_object.responseText;

eval(js); // execute le code javascript contenu dans le fichier "trouc.js"

alert(js);

}

ensuite il y a moyen de recuperer des fichier XML sur le même principe puis de les parcourir comme un arbre DOM.
3
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
3 mai 2005 à 00:28
Salut!

Si tu veux inserer un .js dans ta page, la meilleur façon c'est avec le balise <script>

Exemple : <script type="text/javascript" src="reponse.js"></script>

A+, Ghislain
0
gnienfo Messages postés 8 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 3 mai 2005
3 mai 2005 à 09:37
oui mais le "reponse.js provies d'une page situé sur un serveur web distant du client.

Apparement il y a moyen avec un objet du type XMLhttprequest.

voir: http://www.toutjavascript.com/savoir/xmlhttprequest.php3

Mais je n'en suis pas completement arrivé à bout, je ne suis pas encore
parvenu à faire evaluer le code javascript recuperé dans une chaine!
0
Rejoignez-nous