3 pièce(s) jointe(s)
[AJAX] XMLHttpRequest.open - Accès refusé - IE8
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:
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
Code:
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> |
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.
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