Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ecrire de nouveau objet dans son Json

    18 mai 2022 à 16:19:05

    Bonjour, je débute la manipulation de Json et je suis bloqué j'arrive pas à ecrire dans mon fichier json.

    J'arrive à l'ajouter dans le tableau de mon Json mais il apparait pas dans le fichier et disparait une fois la page actualiser.

    Voici mon code Js :

    import data from "./expose.json" assert {type: "json"};
    
    
    
    mybutton.addEventListener('click', (e) => {
        e.preventDefault();
        let ajout_json = {
            "Titre_expose": name_expose.value,
            "poster_path": lien.value
        }
        data.prezi.push(ajout_json);
        console.log(data.prezi)
    })

    Et mon json 

    {
        "prezi": [
            {
                "Titre_expose": "Le javascript",
                "poster_path": "https://prezi.com/p/w4mu8ur5tniy/javascript/"
            },
            {
                "Titre_expose": "Kevin mitnick",
                "poster_path": "https://prezi.com/p/4gkrxdq_pv7a/la-biografia-de-kevin-mitnick/"
            },
            {
                "Titre_expose": "Faille sql & CSS",
                "poster_path": "https://prezi.com/p/bf0jky1lxnq0/presentation-sql-cross-site-scripting/"
            },
            {
                "Titre_expose": "Bootstrap",
                "poster_path": "https://prezi.com/p/s6qikfjxjzv-/bootstrap/"
            }
           
        ]
    }

    Si vous avez des pistes, merci d'avance. En local storage


    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2022 à 16:52:27

      Hello

      Ce que tu cherches à faire est tout simplement impossible côté client.

      Un client ne peut pas modifier le contenu d'un fichier présent sur le serveur (et heureusement, sinon le web ne serait que chaos ^^)

      Tu dois passer pour cela par un serveur web, en PHP ou Node.js par exemple.

      • Partager sur Facebook
      • Partager sur Twitter
      HTML5 & JavaScript enthusiast (webdev/gamedev/mobile/demoscene). [github, twitter@_jmpp]
        19 mai 2022 à 8:29:43

        Bonjour,

        +1 pour la réponse ci-dessus.

        Donc si tu as un serveur web, tu peux par exemple faire une requête ajax qui mettra à jour côté serveur le json

        et si cela correspond à ton besoin, tu peux aussi utiliser le stockage local du html5 mais bien-sûr ce ne sera que pour le navigateur concerné.

        https://www.w3bai.com/fr/html/html5_webstorage.html

        A+

        • Partager sur Facebook
        • Partager sur Twitter
          19 mai 2022 à 10:04:49

          Bonjour et merci pour vos réponses. Evidement j'utilise le local storage pour la moment tester quelques petits truc. 

          J'ai réussi à envoyer, récupérer et afficher les données stocker sur le local storage ca fonctionne. Par contre j'ai un soucis, quand je créer un lien ca me met cette erreur : 

          Cannot GET /www.google.fr

          L'erreur semble etre à cause de serveur live de visual studio.

          Voici le code : 

          function affichage ()
          {
          let test = localStorage.getItem('Ajout_1'); //recuperation de l'objet dans local storage
          test = (JSON.parse(test)); //Transformation de la recuperation en format objet
          
          let titre = document.createElement('p'); 
          let lien = document.createElement('p');
          
          
          titre.innerHTML = test['Titre_expose'];
          lien.innerHTML = test['lien'];
          
          td_0102.setAttribute('href', test['lien']);
          td_0101.appendChild(titre);
          td_0102.appendChild(lien);
          }
          
          affichage();
          
          
          mybutton.addEventListener('click', (e) => {
              e.preventDefault();
              let ajout_json = {
                  "Titre_expose": name_expose.value,
                  "lien": lien.value
              }
          
              localStorage.setItem('Ajout_1', JSON.stringify(ajout_json));
              location.reload();
          
          
          })

          Une solution pour passer ce blocage de get?




          -
          Edité par ThomasApril 19 mai 2022 à 11:16:20

          • Partager sur Facebook
          • Partager sur Twitter

          Ecrire de nouveau objet dans son Json

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown