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 :
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 <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>
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
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 });
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
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(); } ?>
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 :
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'); } } ?>
Si quelqu'un a une idée, je suis plus que preneur!
En vous remerciant par avance
Partager