Bonjour, lorsque tu as demandé à PHP d'injecté les données à Javascript de cette façon:
let data= '<?PHP echo $json;?>';
Il à placé le contenue du JSON dans une chaîne de texte c'est pour cela que ton console.log t'affiche le JSON en "non-formaté" c'est par ce qu'il et dans une chaîne de texte, tu peut le vérifié en affichant le type de la donnée via:
console.log(typeof data);
Je pense que tu n'as pas besoin des guillemets lors de l'injection des données à javascript le contenue et déjà un objet Javascript valide (un tableau) tu dois pouvoir l'écrire de cette façon:
let data = <?PHP echo $json;?>;
console.log(data);
console.log(typeof data); // devrait être "object"
- Edité par SamuelGaborieau3 14 octobre 2021 à 3:47:39
Niquel, en effet sans les '' ça règle le problème, merci beaucoup ! Et supposons que je veuille transférer cette variable $json dans un fichier JS externe, je pourrai procéder comment ?
Bonjour, je pense que PHP devrait créé un fichier JSON enregistré la variable $json dedans et exposé le fichier au client, le navigateur téléchargerait le fichier que PHP aurait créé:
<?php
define('FILENAME_JSON', __DIR__ . "\\<PATH>\\data.json");
file_put_contents(
FILENAME_JSON, // chemin du fichier
json_encode($json), // les données du fichier (au format texte si il ne les pas déjà)
);
?>
PHP créé un fichier data.json via file_put_contents et injecte le contenu JSON à l'intérieur.
Merci de ton aide, c'est super sympa mais j'ai changé de plan depuis , je suis passé par ajax et jquery pour la requête.
Problème de format de données JSON
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
suggestion de présentation.
suggestion de présentation.