Bonjour,
Je débute avec AJAX, et j'ai un problème avec IE8 en local, quand j'invoque la méthode open de l'objet XMLHttpRequest. Par contre tout fonctionne avec Firefoxe. J'utilise le serveur WAMP en localhost... Le but de ce script est de faire une transformation xsl à partir du document xml, est d'appliquer cette transformation dans une div dans le document html courant. Quand j'exécute ce script avec XMLSpy, j'ai le code 0 Accès refusé.Par contre Internet Explorer n'affiche rien.
Voici mon script réduit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <html> <head> <title>Transformation XSLT </title> <script type="text/javascript" language="javascript"> function xslt(){ //Créer L'objet XMLHttpRequest var requete = new XMLHttpRequest(); //Définir la méthode d'envoie et ces options requete.open("GET","planetes.xml",false); } </script> </head> <body onload="xslt();"> <h1>Transformation XSLT avec javascript, navigateurs Mozila</h1> <div id="targetDiv"></div> </body> </html>
Voici le script de test complet, je précise qu'il c'est seulement un test, je n'est pas mis le gestionnaire des exceptions, il n'y a pas tout les tests
D'après ce que j'ai pu lire quand on invoque une méthode open, il faut que le fichier url soit le même que le fichier courant si non il refuse l'accès, mais j'ai fait le test. J'ai toujours le même code d'erreur accès refusé. Pourtant IE8 reconnait l'objet XMLHttpRequest.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <html> <head> <title>Transformation XSLT </title> <script type="text/javascript" language="javascript"> function xslt(){ //Créer L'objet XMLHttpRequest var requete = new XMLHttpRequest(); //Définir la méthode d'envoie et ces options requete.open("GET","planetes.xml",false); //Envoyer le document xml au serveur requete.send(null); //Si le serveur renvoie une réponse if(requete.readyState == 4 ){ //Récupérer, créer l'objet xml var monxml = requete.responseXML; } //Définir la méthode d'envoie et ces options requete.open("GET","planetes.xsl",false); //Envoyer le document xsl au serveur requete.send(null); //Si le serveur renvoie une réponse if(requete.readyState == 4 ){ //Récupérer, créer l'objet xml var monxsl = requete.responseXML; } //Test du navigateur si le processor XSLT est activé if(window.XSLTProcessor){ //Instanciation du processorXSLT var xsltproc = new XSLTProcessor(); //Importation du fichier xslt xsltproc.importStylesheet(monxsl); //Transformation XSLT var fragment = xsltproc.transformToFragment(monxml,document); //Instancier l'objet div var target = document.getElementById('targetDiv'); //Initialisation par défaut target.innerHTML = ""; //Modifier la valeur de la div target.appendChild(fragment); //Appliquer la modification de la div au document document.appendChild(target); } } </script> </head> <body onload="xslt();"> <h1>Transformation XSLT avec javascript, navigateurs Mozila</h1> <div id="targetDiv"></div> </body> </html>
Je comprends pas trop le fonctionnement, déjà pour testé pour récupérer les valeurs des méthodes c'est délicas...
C'est pourquoi je fait appel à votre aide, je pense que beaucoup ont déjà été confronté à ce problème, je vous serais très reconnaissant de m'éclairer à ce sujet.
Merci par avance
NB: je vous mes trois fichiers en pièces jointes
Partager