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







Répondre avec citation
Partager