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