1 pièce(s) jointe(s)
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:
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:
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:
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:
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 :
Pièce jointe 213569
Si quelqu'un a une idée, je suis plus que preneur!
En vous remerciant par avance :)