Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec films.json

14 août 2019 à 17:49:34

Bonjour,

Après avoir cherché un peu partout (ce forum inclus), je ne trouve pas la solution à mon problème.

Je suis le cours https://openclassrooms.com/fr/courses/3306901-creez-des-pages-web-interactives-avec-javascript/3626516-interrogez-un-serveur-web qui propose de charger des fichiers à l'aide de XMLHttpRequest sur un serveur local préalablement mis en place (je suis sous Ubuntu et j'utilise XAMPP), et le code pour cela est donné. J'ai tout configuré comme il a été recommandé. En plus, j'ai pris la liberté de changer le répertoire de travail (ça ne me plaisait pas trop de mettre mes fichiers dans un endroit obscur avec plein de fichiers étrangers).

Bref, tout fonctionne bien avec le fichier langages.txt (il s'agit de quelques mots séparés par des ";"). En revanche, ça ne marche plus avec films.json. En fait ça marche quand-même, mais la console (firefox) logue en plus cette erreur :

Erreur d’analyse XML : erreur de syntaxe Emplacement : http://localhost/javascript-web-srv/data/films.json Numéro de ligne 1, Colonne 1 :

Mon code est pourtant celui du cours, j'ai copié soigneusement films.json sur GitHub (en surlignant et copiant-collant le code), et mon éditeur (vs-code) sauvegarde en utf-8. Personne ne semble avoir cette erreur. Alors qu'est-il en train de se passer de mon côté ??? Comment régler le problème ? Merci pour vos futurs éclaircissements.

-
Edité par Paul Vanderbeken 14 août 2019 à 18:01:36

  • Partager sur Facebook
  • Partager sur Twitter
19 août 2019 à 12:36:25

Bonjour,

Le problème doit probablement venir du fait que le parser JSON n'est pas le même que le parser XLM et donc, qu'il ne reconnaissent pas les accolades {} du JSON

  • Partager sur Facebook
  • Partager sur Twitter

᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼





᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼






























































































































































20 août 2019 à 11:35:04

De fait, d'après ce que j'ai vu du XML, le JSON n'a pas du tout la même syntaxe. En fait, j'ai été assez inexact dans mon message, car j'ai tout de même trouvé une solution proposé quelque part. Il faut ajouter la ligne
req.overrideMimeType("text/plain")

 où "req" est l'objet XMLHttpRequest utilisé. Ainsi tout fonctionne sans message d'erreur. Je m'étonne juste que le problème n'ait pas été prévu dans le cours (à moins que le problème ne concerne que moi), et que je semble le seul à l'avoir (mais alors pourquoi ?).

Tout de même, ça me semble assez normal que ça ne fonctionne pas bien. XMLHttpRequest est logiquement prévu pour du XML, pas pour du JSON, et l'erreur que j'obtiens le confirme.

-
Edité par Paul Vanderbeken 20 août 2019 à 11:40:00

  • Partager sur Facebook
  • Partager sur Twitter
20 août 2019 à 11:50:28

XMLHttpRequest est aussi utilisé pour récupérer du JSON (via AJAX par exemple). Content que le problème soit résolu

-
Edité par ᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼ 20 août 2019 à 13:56:41

  • Partager sur Facebook
  • Partager sur Twitter

᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼





᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼






























































































































































26 septembre 2019 à 17:50:44

Bon, j'ai fini par trouver une solution un peu plus propre, mais réservée aux utilisateurs de XAMPP sous linux.

Mon problème était du côté du serveur, qui ne spécifait pas bien le MIME type dans sa réponse.

Ainsi à l'intérieur du fichier /opt/lampp/etc/httpd.conf et du bloque introduit par <IfModule mime_module>, il suffit d'ajouter cette ligne :
AddType application/json .json

-
Edité par Paul Vanderbeken 26 septembre 2019 à 17:54:12

  • Partager sur Facebook
  • Partager sur Twitter
15 octobre 2019 à 11:37:31

Bonjour,

Je suis dans la même config que Paul, avec un Linux, et un serveur sous xampp, mais la solution ne répond pas au problème. Si j'ajoute la ligne

AddType application/json .json

Il deplace l'erreur dans la console mais elle est toujours la. Quelqu'un aurait la réponse au problème.




  • Partager sur Facebook
  • Partager sur Twitter
24 octobre 2019 à 14:50:13

Bonjour,

Fait un nouveau sujet avec des explications complètes et aussi peut-être des captures d'écrans et une liste de ce que tu as déjà essayé. Ce sera plus simple d'aider comme ça

  • Partager sur Facebook
  • Partager sur Twitter

᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼





᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼᲼






























































































































































24 octobre 2019 à 15:43:58

Bonjour,

Le problème à été résolue, merci pour l'attention portée a ma question.

  • Partager sur Facebook
  • Partager sur Twitter