[AJAX] Ajax - assignation d'un contenu à une variable globale
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
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
|
// 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); |
Mon problème:
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