Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Jqurery] fonction load() et CORS policy

    13 octobre 2020 à 18:55:02

    Bonjour,

    Je rencontre un petit obstacle dans mon projet. Je voulais utiliser la fonction load() en jquery pour charger et placer un bout de code HTML.

    J'ai regardée ce cours : https://openclassrooms.com/fr/courses/1567926-un-site-web-dynamique-avec-jquery/1569757-la-methode-load#/id/r-1569756 

    Le souci est un warning, ce que je craignais: 

    Access to XMLHttpRequest at 'file:///W:/ensembles/load_test/html/inscr/inscr.html' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.
    Failed to load resource: net::ERR_FAILED


    Mon fichier d'appel est en .HTML

    Je me suis documentée mais j'ai du mal à m'y retrouver pour avoir quelque chose de propre et valide.


    Dois-je changer mes extensions en .PHP sous wamp , ou bien héberger le fichier HTML à appeler.


    Si quelqu'un peut me conseiller , je lui en serai très reconnaissante.


    Cordialement, Stéphanie.



    • Partager sur Facebook
    • Partager sur Twitter
    Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
    Anonyme
      13 octobre 2020 à 19:31:00

      héberger le fichier HTML à appeler.

      C’est ça. 👌

      • Partager sur Facebook
      • Partager sur Twitter
        13 octobre 2020 à 21:17:52

        Pas d'autre solution ? je suis en local seulement
        • Partager sur Facebook
        • Partager sur Twitter
        Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
        Anonyme
          13 octobre 2020 à 21:37:00

          Tu peux faire tourner un serveur en local
          • Partager sur Facebook
          • Partager sur Twitter
            13 octobre 2020 à 21:45:55

            Bein oui je l'ai dite avec Wamp serveur

            • Partager sur Facebook
            • Partager sur Twitter
            Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
            Anonyme
              14 octobre 2020 à 10:19:45

              Tu ne passes pas par un serveur si tu utilises le protocole file://

              Passe par le serveur et tu n'auras pas de problème.

              • Partager sur Facebook
              • Partager sur Twitter
                14 octobre 2020 à 11:29:11

                C'est juste dans le message d'erreur de la console qui affiche le chemin absolu depuis file://

                Je code déjà depuis quelques années tout est dans un dossier racine.

                mon code js :

                  var pcm_inscr = document.querySelectorAll(".header__btn");
                
                  for (var i = 0; i < pcm_inscr.length; i++) {	
                    pcm_inscr[i].addEventListener("click", function(){
                
                     var menu_btn_clic = this.getAttribute('data-pcm-clic');
                     console.log("choix menu : " + menu_btn_clic);
                
                     switch(menu_btn_clic){
                      case 'inscr':
                        $('#pcm__page-site-content').load('html/inscr/inscr.html');
                      break;
                     } 
                
                
                    }, false);
                }



                • Partager sur Facebook
                • Partager sur Twitter
                Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
                Anonyme
                  14 octobre 2020 à 11:49:07

                  Si la console affiche file:// c'est que c'est le protocole utilisé, et que tu ne passes pas par ton serveur. Passe par ton serveur, le protocole sera http et tu n'auras pas de problème.

                  (Charger jQuery juste pour load c’est très inefficace.)

                  (Réinventer les liens c’est une très mauvaise idée.)

                  -
                  Edité par Anonyme 14 octobre 2020 à 11:49:52

                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 octobre 2020 à 12:10:57

                    C'est juste un test pour comprendre, je ne réinvente pas de lien ???

                    pourquoi inefficaces, en vanillia alors ... 

                    Bon je vais passer mon dossier et mes fichiers en .php et travailler sous Wamp. J'utiliserai une entête cross-origine pour être sure.

                    Merci de tes conseils, je te tiens au courant :)

                    -
                    Edité par pipelette13 14 octobre 2020 à 12:11:57

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean
                    Anonyme
                      14 octobre 2020 à 12:20:08

                      C'est juste un test pour comprendre, je ne réinvente pas de lien ???

                      Accéder à une ressource au clic c’est pile à quoi sert un lien. Pas besoin de JavaScript pour que ça fonctionne, et ça fonctionne toujours mieux.

                      pourquoi inefficaces, en vanillia alors ...

                      Parce que charger une librairie entière pour un truc que tu pourrais faire en cinq ligne de JS vanilla c’est inefficace.

                      je vais passer mon dossier et mes fichiers en .php et travailler sous Wamp

                      Tu n’as pas besoin de PHP, juste que tes fichiers soient servis par un serveur.

                      J'utiliserai une entête cross-origine pour être sure.

                      Probablement inutile. Si tu n’as jamais utilisé un serveur ça m’étonnerait que tu finisses avec des origines différentes.

                      -
                      Edité par Anonyme 14 octobre 2020 à 12:20:30

                      • Partager sur Facebook
                      • Partager sur Twitter
                        14 octobre 2020 à 13:43:07

                        J'ai déjà hébergée des sites, La je me lance dans un truc plus complexe

                        Je charge Jquery car j'ai des modules qui reposent dessus, ne pas réinventer la roue.

                        Faire un load() en JS pure, si tu as un script a me proposer que je puisse l'examiner.

                        Je n'ai pas encore d'hébergeur, j'ai quittée Ionos qui ne me satisfaisais plus, surcouts, etc... donc oui je bosse en local, wamp, libsass, Gulp sous VSC comme workflow.

                        -------------> Suite 

                        Bon problème résolu, j'ai déplacée mon dossier pour Wamp .

                        Merci de ta participation ;)

                        -
                        Edité par pipelette13 14 octobre 2020 à 20:47:41

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Stéphanie, blonde mais je me débrouille (....?) ** Mon sondage: mode Dark VS mode Clean

                        [Jqurery] fonction load() et CORS policy

                        × 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