Partage
  • Partager sur Facebook
  • Partager sur Twitter

[fetch/js] Je ne récupère aucun data--accès denied

    16 janvier 2019 à 19:44:23

    Bonjour, 

    J'utilise fetch de façon à ce que quand un code postal est entré dans un formulaire qu' je récupère les villes/communes et les départements. 

    voici le code

    HTML:

    <form method="post" action="#">
        <input type="text" name="titre" id="titre" placeholder="Donner un titre à votre projet" >
        <textarea name="description" placeholder="Décrivez votre projet. Préservez vos données personnels"></textarea>
        <input type="number" name="cp" value="cp" onchange="getCP(this.value)">   
            <select name="ville" id="ville">
            <!--Villes avec code postal-->
        </select>
       </form>

    le script js:

    <script>
    function getCP(cp) {
    
        fetch('../pages/cp.php?cp='+cp+'')
            .then(console.log)
    //    var cp = cp;
    //    const getVille = async function(){
    //        try{
    //            let response = await fetch('../pages/cp.php?cp='+cp)
    //            if(response.ok){
    //                let data = await response.json()
    //                console.log(data)
    //            }else{
    //                console.error('retour du serveur:'+response.status)
    //            }
    //        }catch(e){
    //            console.log(e)
    //        }
    //    }
    //getVille();
    }

    Ma page cp.php

    $dataVille = array();
    require '../includes/pdo.php';
    $req= $pdo->prepare("SELECT ville_nom_reel,departement_nom FROM table_villes INNER JOIN departement ON table_villes.departement_code = departement.departement_code WHERE ville_code_postal =  :cp");
    $req->bindValue(':cp', $_GET['cp'], PDO::PARAM_INT);
    $req->execute();
    while($result = $req -> fetch()){
        $dataVille.=$result;
       var_dump($dataVille);
        
    }



    J'ai suivi les tutos , mais je ne récupère aucune donnée lors du fetch

    j'ai donc tenté avec json placeholder et là ça fonctionne

    j'ai donc découpé mon code afin de le débugger

         fetch('../pages/cp.php?cp='+cp+'')
            .then(console.log)


    el  je console ceci :

    [object Response]: {body: Object, bodyUsed: false, headers: Object, ok: true, redirected: false...}
    
    body: Object
    bodyUsed: false
    
    headers: Object
    ok: true
    redirected: false
    status: 200
    statusText: "OK"
    type: "basic"
    url: "http://localhost/projet/pages/cp.php?cp=97122"
    
    __proto__: Object
    
    arrayBuffer: function arrayBuffer() { [native code] }
    
    blob: function blob() { [native code] }
    body: <Permission denied>
    bodyUsed: <Permission denied>
    
    clone: function clone() { [native code] }
    
    constructor: function Response() { [native code] }
    headers: <Permission denied>
    
    json: function json() { [native code] }
    ok: <Permission denied>
    redirected: <Permission denied>
    status: <Permission denied>
    statusText: <Permission denied>
    
    text: function text() { [native code] }
    type: <Permission denied>
    url: <Permission denied>
    
    __proto__: Object

    J'ai jeté un œil sur le web mais pas de réponse dans ce sens. 

    Merci pour votre aide !!!

    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2019 à 20:57:17

      Bonjour,

      Tu n'as pas dû lire le tuto jusqu'au bout, ce n'est pas comme ça qu'on récupère les données d'une table :

      while($result = $req -> fetch()){
         echo $result['ville_com_reel'];
         echo '<br>';
           
      }



      • Partager sur Facebook
      • Partager sur Twitter
        17 janvier 2019 à 12:22:13

        philodick a écrit:

        Bonjour,

        Tu n'as pas dû lire le tuto jusqu'au bout, ce n'est pas comme ça qu'on récupère les données d'une table :

        while($result = $req -> fetch()){
           echo $result['ville_com_reel'];
           echo '<br>';
             
        }


        Merci, mais j'ai encore des accès denied 

        Console

        [object DOMException]: {code: 12, message: "Échec de la lecture.", name: "SyntaxError"}
        code: 12
        message: "Échec de la lecture."
        name: "SyntaxError"
        
        __proto__: Object
        ABORT_ERR: 20
        code: <Permission denied>
        
        constructor: function DOMException() { [native code] }
        DATA_CLONE_ERR: 25
        DOMSTRING_SIZE_ERR: 2
        HIERARCHY_REQUEST_ERR: 3
        INDEX_SIZE_ERR: 1
        INUSE_ATTRIBUTE_ERR: 10
        INVALID_ACCESS_ERR: 15
        INVALID_CHARACTER_ERR: 5
        INVALID_MODIFICATION_ERR: 13
        INVALID_NODE_TYPE_ERR: 24
        INVALID_STATE_ERR: 11
        message: <Permission denied>
        name: <Permission denied>
        NAMESPACE_ERR: 14
        NETWORK_ERR: 19
        NO_DATA_ALLOWED_ERR: 6
        NO_MODIFICATION_ALLOWED_ERR: 7
        NOT_FOUND_ERR: 8
        NOT_SUPPORTED_ERR: 9
        PARSE_ERR: 81
        QUOTA_EXCEEDED_ERR: 22
        SECURITY_ERR: 18
        SERIALIZE_ERR: 82
        SYNTAX_ERR: 12
        TIMEOUT_ERR: 23
        
        toString: function toString() { [native code] }
        TYPE_MISMATCH_ERR: 17
        URL_MISMATCH_ERR: 21
        VALIDATION_ERR: 16
        WRONG_DOCUMENT_ERR: 4
        
        __proto__: Object





        • Partager sur Facebook
        • Partager sur Twitter
          17 janvier 2019 à 13:38:13

          Ok pour la console mais as-tu activé les erreurs PDO au moins ? (voir ma signature).

          Le code postal de devrait pas être un INT d'ailleurs, mais une chaîne.

          • Partager sur Facebook
          • Partager sur Twitter
            17 janvier 2019 à 13:54:18

            philodick a écrit:

            Ok pour la console mais as-tu activé les erreurs PDO au moins ? (voir ma signature).

            Le code postal de devrait pas être un INT d'ailleurs, mais une chaîne.


            Mon code includes/pdo.php:

            <?php
            try
            {
            	$pdo = new PDO('mysql:host=localhost;dbname=devis;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
            }
            catch (Exception $e)
            {
                    die('Erreur : ' . $e->getMessage());
            }

            Que j'ai modifié en :

            <?php
            try
            {
            	$pdo = new PDO('mysql:host=localhost;dbname=devis;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
            }
            catch (PDOException $e)
            {
                    die('Erreur : ' . $e->getMessage());
            }

            Même si mon problème persiste

            J'ai trouvé la solution à force

            je la poste pour qui aurait le même problème. 

            echo'{"ville": "'.$result["ville_nom_reel"].'", 
                "departement": "'.$result["departement_nom"].'"}';




            -
            Edité par born1 18 janvier 2019 à 0:22:53

            • Partager sur Facebook
            • Partager sur Twitter

            [fetch/js] Je ne récupère aucun data--accès denied

            × 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