Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lire dans un fichier json

    22 juillet 2016 à 12:15:11

    Bonjour à tous. 

    Je cherche à lire un fichier json en local sur ma machine et utiliser ces données dans un tableau html.

    Voilà ce que j'ai fait:

    $.getJSON('../datas/ateliers.json',function(data){
                         $.each(data,function(index,d){
                            $('#tableAteliers')
                                .append('<tr>')
                                .append('<td><input class="js-disable" type="checkbox"></td>')
                                .append('<td>'+d.label+'</td>')
                                .append('<td>'+d.description+'</td>')
                                .append('<td>'+d.workedHours+'</td>')
                                .append('<td>'+d.createDate+'</td>')
                                .append('<td>'+d.disableDate+'</td>')
                                .append('</tr>');
                        }); 

    J'ai cette erreur qui apparaît: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

    Au fil de mes recherchesn j'ai lu qu'il fallait créer un serveur web sur ma machine.

    Ma question est la suivante: Comment faire pour lire un fichier json en local sans rien installer de plus et que ça marche sur tous les navigateurs (au moins firefox et chorme)

    Merci d'avance

    -
    Edité par Madgik63 22 juillet 2016 à 12:15:52

    • Partager sur Facebook
    • Partager sur Twitter
    Tu veux te marrer? http://www.jesuisunconnard.fr
      22 juillet 2016 à 15:08:17

      Hello,

      La réponse est malheureusement simple, c'est impossible de lire un fichier sur la machine local. Alors pourquoi, c'est très simple, tout simplement par question de sécurité, en effet si un site pouvais récupérer les fichiers sur ton pc en JS sans te demander ton accord, cela poserais quelques problèmes de sécurité. Alors tout n'est pas perdu pour autant, tu peux en effet mettre un champ input de type file qui te permettra d'aller chercher le fichier et de là tu te mets sur l'évènement onChange de l'input pour effectuer la lecture du JSON à ce moment là.

      J'espère que ça t'aideras

      • Partager sur Facebook
      • Partager sur Twitter

      Je donnes des cours particulier ici et je suis également mentor OpenClassrooms (Premium Plus et en charge de la Premium Class PHP/Symfony). Un petit j'aime si je vous ai aidé fais toujours plaisir :)

        22 juillet 2016 à 15:13:21

        Oui ça me conforte dans mon idée que c'était bel et bien impossible. 

        Au taf, on m'a dit que je pouvais parfaitement faire un simulacre de bdd sans wamp par exemple. Je ne vois pas comment simuler la création d'entités ou leur suppression en ne disposant que de html, css et javascript (avec jquery et bootstrap). Simuler une bdd sans serveur je vois pas perso.

        • Partager sur Facebook
        • Partager sur Twitter
        Tu veux te marrer? http://www.jesuisunconnard.fr
          22 juillet 2016 à 15:16:15

          Je ne vois pas non plus, si ce n'est en utilisant les Webstorages http://www.alsacreations.com/article/lire/1402-web-storage-localstorage-sessionstorage.html

          Sinon pas de possibilités à ma connaissance

          • Partager sur Facebook
          • Partager sur Twitter

          Je donnes des cours particulier ici et je suis également mentor OpenClassrooms (Premium Plus et en charge de la Premium Class PHP/Symfony). Un petit j'aime si je vous ai aidé fais toujours plaisir :)

            22 juillet 2016 à 15:32:55

            Pas con du tout le localStorage. Je n'y avais pas pensé. Mais on peut stocker du json ?
            • Partager sur Facebook
            • Partager sur Twitter
            Tu veux te marrer? http://www.jesuisunconnard.fr
              22 juillet 2016 à 18:35:13

              Si tu lis le lien que je t'ai donné tu auras ta réponse sur le comment faire et par rapport à ta question, oui tu peux y stocker ce que tu souhaites, c'est un système de clef/valeur. Donc tu peux y stocker ce que tu souhaites, json compris (ce n'est finalement qu'une chaine de caractères). Tu es juste limités sur la taille, à 5Mo par domaines)
              • Partager sur Facebook
              • Partager sur Twitter

              Je donnes des cours particulier ici et je suis également mentor OpenClassrooms (Premium Plus et en charge de la Premium Class PHP/Symfony). Un petit j'aime si je vous ai aidé fais toujours plaisir :)

                25 juillet 2016 à 15:24:36

                Madgik63 a écrit:

                Oui ça me conforte dans mon idée que c'était bel et bien impossible. 

                Au taf, on m'a dit que je pouvais parfaitement faire un simulacre de bdd sans wamp par exemple. Je ne vois pas comment simuler la création d'entités ou leur suppression en ne disposant que de html, css et javascript (avec jquery et bootstrap). Simuler une bdd sans serveur je vois pas perso.


                Peut être que je dit une bêtise, mais il me semble que WAMP ne gère que le PHP en langage serveur et que ce qu'on t'as dit faisait donc référence au PHP.

                Auquel cas, oui, il est possible d'écrire dans des fichiers / un BDD sans PHP et côté serveur (avec Python, Ruby et d'autres...)

                • Partager sur Facebook
                • Partager sur Twitter
                Fais pas gaffe à moi, je ne suis qu'une signature !
                  25 juillet 2016 à 17:15:55

                  unlytill a écrit:

                  Madgik63 a écrit:

                  Oui ça me conforte dans mon idée que c'était bel et bien impossible. 

                  Au taf, on m'a dit que je pouvais parfaitement faire un simulacre de bdd sans wamp par exemple. Je ne vois pas comment simuler la création d'entités ou leur suppression en ne disposant que de html, css et javascript (avec jquery et bootstrap). Simuler une bdd sans serveur je vois pas perso.


                  Peut être que je dit une bêtise, mais il me semble que WAMP ne gère que le PHP en langage serveur et que ce qu'on t'as dit faisait donc référence au PHP.

                  Auquel cas, oui, il est possible d'écrire dans des fichiers / un BDD sans PHP et côté serveur (avec Python, Ruby et d'autres...)

                  Wamp t'installe un serveur Local, il met en place Apache (le serveur web), Php (plugin d'apache), Mysql (serveur de base de données).

                  Tu peux mettre Apache Php et Mysql en place sans WAMP (les installer 1 par 1 ou mettre un logiciel equivalent tels que XAMPP ou MAMP), mais ça ne change pas que ce sera bien un serveur. Serveur Local certe, mais Serveur quand même, ce qui oblige l'installation sur tous les postes.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Je donnes des cours particulier ici et je suis également mentor OpenClassrooms (Premium Plus et en charge de la Premium Class PHP/Symfony). Un petit j'aime si je vous ai aidé fais toujours plaisir :)

                    25 juillet 2016 à 17:23:18

                    Non non unlytill. La directive c'est: "Notepad++, HTML, CSS, Bootstrap, Jquery, Font-awesome, JS et rien d'autre". Je crois qu'ils veulent me prouver que Java c'est trop cool, mais bon ce n'est pas le sujet ici, évitons les troll ;)

                    -
                    Edité par Madgik63 25 juillet 2016 à 17:24:18

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Tu veux te marrer? http://www.jesuisunconnard.fr

                    Lire dans un fichier 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.
                    • Editeur
                    • Markdown