ajax/firefox uniquement en ligne
bonjours, j'ai une application en javascript qui utilise des fichiers json pour ce paramétrer, elle fonctionne en local sous ff,chrome et safari, en revanche, en ligne elle ne fonctionne plus sous ff ( par contre elle fonctionne bien sous les 2 autres... apres elle ne fonctionne pas sous ie dans tous les cas mais ca n'a probablement rien a voir )
le code est un peu long donc je met juste la partie qui deconne ( c'est une methode d'une class ajax maison ) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
loadJson: function(url){
var response = undefined;
var that = this;
this.xhr.onreadystatechange = function() {
if (that.xhr.readyState == 4 && (that.xhr.status == 200 || that.xhr.status == 0)) {
try{
response = JSON.parse(that.xhr.responseText);
}catch(err){
response = undefined;
}
}
};
this.xhr.open("GET", url, false);
this.xhr.send(null);
return response;
} |
le code deconne au niveaux de response = JSON.parse(that.xhr.responseText);
ce que j'ai verfifié ou essayé :
le xhr.responseText me renvoie le fichier sous forme de string,
les autorisations du json sont a 777,
eval ne marche pas non plus,
j'ai essayer de changer le contenu du json pour un truc minimaliste genre {'test":"ok"} ca ne marche pas,
par contre si je remplace dans ma fonction loadJson that.xhr.responseText par ' {'test":"ok"}' la ca fonctionne !!!
j'ai essayer de changer les format des saut de lignes, l'encodage ( utf-8, avec ou sans BOM, ANSI ),
j'ai essayé sur 4 pc différents
bref si qq'un voie ou peut etre le problème ou simplement qq'chose que je n'ai pas testé...