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 ) :
le code deconne au niveaux de response = JSON.parse(that.xhr.responseText);
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 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; }
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é...
Partager