IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Requete Ajax vers Contrôleur PHP


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 9
    Par défaut Requete Ajax vers Contrôleur PHP
    Bonjour,

    J'éprouve la plus grande difficultée à faire fonctionner une requête Ajax à destination d'un Controlleur écrit en php (j'utilise le modele MVC pour structurer mon code).

    Le contexte est le suivant :

    Je dispose d'une vue contenant un formulaire de connexion tout ce il y a de plus classique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <div class="container">
      <section id="login" display ="block">
        <div class="row">
          <div class="col-md-4 col-md-offset-4">
            <form class="form-signin">
              <h2 class="form-signin-heading">Connectez-vous!</h2>
              <label class="sr-only" for="inputEmail">Login</label>
              <input type="text" class="form-control" autofocus="" required="" placeholder="Login" id="loginValue">
              <label class="sr-only" for="inputPassword">Mot de passe</label>
              <input type="password" class="form-control" required="" placeholder="Mot de passe" id="passwordValue"><br/>
              <button type="submit" class="btn btn-lg btn-primary btn-block" id="sendLogin">Se connecter</button>
            </form>
          </div>
        </div>
      </section>
     
    </div>
        <script src="JavaScript/jquery.js"></script>
        <script src="JavaScript/scriptLogin.js"></script>
        <script src="Bootstrap/js/bootstrap.min.js"></script>
      </body>
    </html>
    Lorsque l'on clique sur le button, une fonction écrite en Javascript se déclenche, son but est d'effectuer une vérification sur les inputs (assez sommaire pour le moment!) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    $(function() {
     $('#sendLogin').on('click', function(){
        var $login = $('#loginValue').val();
        var $password = $('#passwordValue').val();
        console.log(' '+$password+' '+$login);
     
        if($login != "" && $password != ""){
          console.log("Dans requete Ajax");
          $.ajax({
            type:'GET',
            url:'/Caribou/index.php',
            data:{
              action:'gestion',
              login:$login,
              password:$password,
            },
            success:function(response){
              console.log('youpieeeeeeeeeee!');
            },
            error:function(xhr, desc, err){
              console.log(xhr);
              console.log("Details : " + desc + "Error: " + err);
            }
          }); // fin Ajax
        }
     
      }); // fin onClick
    });
    le fichier index.php se présente comme suis (basiquement, son rôle est de rediriger vers le controlleur adéquat en fonction de la valeur du paramètre action):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
     
      session_start();
     
      define('VIEW_PATH','Views/');
     
      require_once(VIEW_PATH . 'header.php');
     
      $action = (isset($_GET['action'])) ? htmlentities($_GET['action']) : 'default';
      var_dump($action);
      switch($action){
        case 'gestion':
          require_once('Controlelr/ControllerGestion.php');
          $controller = new ControllerGestion();
          $controller->run();
          break;
        default:
          require_once('Controller/ControllerConnexion.php');
          $controller = new ControllerConnexion();
          $controller->run();
      }
     ?>
    finalement, le controleur en tant que tel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <?php
      class ControllerConnexion{
     
        public function __construct(){
     
        }
     
        public function run(){
          var_dump($_POST);
          if(!(empty($_GET['login']))){
            $notification = "dans if";
            var_dump($notification);
              header('Location: index.php?action=gestion');
              die();
          }
     
          require_once(VIEW_PATH . 'login.php');
        }
     
      }
     ?>
    Le problème est que je n'ai absolument aucun message d'erreur. Le seul "indice" que j'ai est mon url en rouge dans ma console, sans plus :
    Nom : erreurAjax.png
Affichages : 528
Taille : 16,3 Ko

    Si quelqu'un a une idée, je suis plus que preneur!

    En vous remerciant par avance

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 667
    Par défaut
    en cliquant sur la ligne en rouge, vous devriez avoir plus d'explications sur l'erreur qui se produit

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 9
    Par défaut
    Bonjour,

    Pas vraiment en fait (où alors je ne suis pas capable de voir l'erreur). Dans tous les cas, j'ai oublié de poster les autres captures d'écran avec justement ce détail :

    Nom : detailErreurAjax0.png
Affichages : 459
Taille : 9,6 Ko

    Nom : detailErreurAjax.png
Affichages : 466
Taille : 16,9 Ko

    Nom : detailErreurAjax3.png
Affichages : 465
Taille : 13,4 Ko

    L'url me paraît bonne, les paramètres sont bien ceux qui ont été rentrés lors du login.

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Bonjour,

    Tu peux toujours essayer de définir le dataType dans ta requête Ajax.

    Si tu déplies ton objet dans firebug, que contient-il?

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 9
    Par défaut
    J'ai essayé en spécifiant un datatype, mais rien n'y fait non plus.

    L'objet ne contient rien :

    Nom : objectErreurAjax.png
Affichages : 647
Taille : 15,4 Ko

    Je travail avec WampServer, se pourrait-il que le problème vienne de là?

  6. #6
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Citation Envoyé par Braise Voir le message
    J'ai essayé en spécifiant un datatype, mais rien n'y fait non plus.

    L'objet ne contient rien :

    Nom : objectErreurAjax.png
Affichages : 647
Taille : 15,4 Ko

    Je travail avec WampServer, se pourrait-il que le problème vienne de là?
    Non du tout, aucun rapport.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     if($login != "" && $password != ""){
          console.log("Dans requete Ajax");
          $.ajax({
            type:'GET',
            url:'/Caribou/index.php',
            data:{
              action:'gestion',
              login:$login,
              password:$password,
            },
            success:function(response){
              console.log('youpieeeeeeeeeee!');
            },
            error:function(xhr, desc, err){
              console.log(xhr);
              console.log("Details : " + desc + "Error: " + err);
            }
          }); // fin Ajax
    Enlève cette virgule déjà

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Requete Ajax Etape par etape vers PHP
    Par franquis dans le forum AJAX
    Réponses: 0
    Dernier message: 20/07/2011, 19h59
  2. [AJAX] Requete ajax vers servlet avec un forward
    Par freetala dans le forum AJAX
    Réponses: 0
    Dernier message: 10/05/2011, 12h09
  3. Réponses: 4
    Dernier message: 28/04/2010, 14h50
  4. [AJAX] Requete ajax vers serveur
    Par knebhi dans le forum AJAX
    Réponses: 2
    Dernier message: 23/03/2010, 16h24
  5. [AJAX] Requete ajax sur une meme page php
    Par Bownobo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/06/2007, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo