Partage
  • Partager sur Facebook
  • Partager sur Twitter

[AJAX] Problème avec la liaison php

    11 janvier 2018 à 11:43:21

    Bonjour, 

    Je vous explique mon problèmes, j'ai un affichage d'hébergement à faire et j'ai fais une fonction ajax pour cela (permet de faire un tri sur l'affichage aussi), je débute en js et j'arrive pas à résoudre l'erreure que j'ai la. 

    erreur :

    jquery.js:9566 GET http://localhost/ppe3/triHeber.php 404 (Not Found)

    send @ jquery.js:9566

    ajax @ jquery.js:9173

    triHeber @ triHeber.js:3

    onload @ hebergement.php:23

    je vous montre les parties de code liés à cette erreur

    ma fonction triHeber() dans le fichier triHeber.js :

    function triHeber(){
        $.ajax({
            url : './js/triHeber.php',
            datatype : 'json',
            success : function(data, statut){
               var heber = JSON.parse(data);
               var list = "";
               for (var i =0; i <= heber.length; i++) {
                if (heber.hasOwnProperty(i)) {
                  list += "<div class='col-4'  style='margin-bottom: 3%;'>";
                  list +=   "<div class='card' style='width: 20rem;'>";
                  list +=      "<img class='card-img-top' src=" + heber[i]['PHOTOHEB'] + " alt='Card image cap'>";
                  list +=          "<div class='card-body'>";
                  list +=               "<h4 class='card-title'>" +heber[i]['NOMHEB'] + "</h4>";
                  list +=               "<h6 class='card-subtitle mb-2 text-muted'>taille:" + heber[i]['SURFACEHEB'] + "m² &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+"</h6>";
                  list +=               "<p class='card-text'>" + heber[i]['DESCRIHEB'] + "</p>";
                  list +=               "<p class='card-text'>" + heber[i]['TARIFSEMHEB'] + "</p>";
                  list +=               "<form><a href=View/Reservation/resaheber.php&noAppart=" + heber[i]['NOHEB'] + " class='btn btn-primary'>Réserver</a></form>";
                  list +=           "</div";
                  list +=       "</div>";
                  list +=   "</div>";
                  list +="</div>";
                  list +="</div>";
                }
              }
              $("#listHeber").html(list);
            },
            error : function(resultat, statut, erreur){
            }
        });
    }

    ma requête dans le fichier triHeber.php

    <?php
    include("../config.php");
    
    $req = 'SELECT * FROM hebergement';
        $query = $db -> query($req);
        $res = $query -> fetchall();
        echo json_encode($res);
    
    ?>

    La vue qui sur laquelle j'affiche les hébergements : 

    <body style="font-family: Fjalla One;" onload="triHeber()">
    
    
    
    
    <div class="container" style="padding-top:3%">
            <div class="row" name="listHeber" id="listHeber">
            </div>
        </div>



    l'appelle du fichier triHeber.js est dans le footer inclu dans ma vue : 

    <script src="../js/fonction/triHeber.js"></script>

    L'arborescence de mon dossier c'est : 

    fonctions/js/triHeber.js

    fonctions/triHebers.php

    View/hebergements.php

    View/header/footer.php

    Je vous remercie d'avoir lu et peut -être d'apporter une solution à mon problème.

    William



    • Partager sur Facebook
    • Partager sur Twitter
      11 janvier 2018 à 13:36:07

      salut

      t'as une erreur HTTP "404 Not Found". Donc l'url http://localhost/ppe3/triHeber.php est incorrecte.

      • Partager sur Facebook
      • Partager sur Twitter
        11 janvier 2018 à 14:00:26

        Cette erreur vient de l'url de l'url pour la requête ajax ?
        • Partager sur Facebook
        • Partager sur Twitter
          11 janvier 2018 à 16:01:48

          d'après la pile d'erreur, oui

          après je vois que ça correspondant pas avec l'url qu'il y a dans ton script, mais peut etre qu'il y a une redirection. 

          tu peux regarder dans la console pour surveiller ta requête, dans l'onglet réseau/network (F12 / Ctrl+Maj+I / Cmd+alt+I)

          • Partager sur Facebook
          • Partager sur Twitter
            11 janvier 2018 à 17:00:50

            j'ai déplacé le fichier à la racine pour voir ce que l'erreur me dis quand il trouve le fichier et je reçois cette erreur

            ncaught SyntaxError: Unexpected token < in JSON at position 0

                at JSON.parse (<anonymous>)

                at Object.success (triHeber.js:7)

                at fire (jquery.js:3317)

                at Object.fireWith [as resolveWith] (jquery.js:3447)

                at done (jquery.js:9272)

                at XMLHttpRequest.<anonymous> (jquery.js:9514)

             ça veut dire que le début de mon fichier commence par "<" alors que je le json_encode avant de le renvoyer par le php ? 

            • Partager sur Facebook
            • Partager sur Twitter
              11 janvier 2018 à 23:02:17

              Y a probablement une erreur PHP. Les erreurs PHP étant au format HTML, elles commencent toujours par un <b>

              Si tu avais été voir le résultat de la requête dans l'onglet réseau, comme je te l'ai conseillé plus haut, tu aurais pu prendre conaissance de cette erreur ;)

              • Partager sur Facebook
              • Partager sur Twitter

              [AJAX] Problème avec la liaison php

              × 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