Bonjour à tous,
Dans le cadre d'un projet, j'ai un souci spécifique, sur IE.
But: Charger des éléments de configuration renvoyés en json par un fichier PHP appelé via Ajax.
Je cherche à stocker le retour en json dans une variable globale préalablement déclarée.
Les fonctions utilisées
Mon problème:
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 // Prend en compte la spécificité XDomainRequest pour navigateurs IE function Fxdr() { var xdr = null; if (window.XDomainRequest) { xdr = new XDomainRequest(); } else if (window.XMLHttpRequest) { xdr = new XMLHttpRequest(); } else { xdr = null; //crossDomainLoadMessageFailed = 1; } return xdr; } // Fonction de récupération de la configuration XML function getXmlConfig(u){ var q = Fxdr(); if(q != null) { q.onload = function() { alert(q.responseText); json = q.responseText; } q.open('get',u,false); q.send(null); } } var json; getXmlConfig(url_vers_le_fichier_php); alert(json);
la première alerte de la fonction getXmlConfig me renvoie bien le contenu du traitement du fichier PHP, même IE (version 8 dans mon cas -> contrainte projet)
la deuxième alerte, après l'appel de la fonction getXmlConfig, me retourne toujours le bon résultat sous Firefox, mais IE8 me renvoie 'undefined", qui correspond à la valeur déclarée par la ligne "var json;"
spécifier une valeur à json ("var json = 'test';") me renvoie "test" sous IE8 et le contenu json sous Firefox.
Y-a-t'il un moyen, sous IE8, d'assigner le retour d'une requete ajax à une variable globale ?
Mon but est d'exploiter l'objet json dans le reste du fichier javascript par la suite.
Tout idée ou soluce est bienvenue
Merci par avance pour votre aide
Partager