J'ai fait les tests et dans une certaine configuration ça fonctionne. Je m'explique :
Mon site fonctionne sous le modèle MVC présenté ici : http://http://bpesquet.developpez.co...hitecture-mvc/
J'ai mon premier fichier qui fait office de vue présenter un formulaire simple comme on l'a fait précédemment, le fichier vueAjax.php :
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 30 31 32 33
| <!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Titre</title>
<base href="http://localhost/Extranet/" >
</head>
<body>
<form id="formModifCoordonnees">
<input type="text" id="nom" name="nom"/>
<input type="submit" id="envoyer" name="envoyer" value="Envoyer"/>
</form>
<script type="text/javascript" src="Contenu/js/jquery-2.1.1.min.js"> </script>
<script type="text/javascript" src="Contenu/js/jquery-ui.min.js"> </script>
<script>
$('#formModifCoordonnees').submit(function(){
$.ajax({
url : "authentification/traiterAjax",
type : "post",
data : "nom="+$("#nom")[0].value+"&envoyer=envoyer",
success : function(data){
console.log("*****");
console.log(data);
document.location.href = "compte/infos";
}
});
return false;
});
</script>
</body>
</html> |
J'ai ensuite un deuxième fichier, mon fichier controleurAuthentification où se trouve la fonction "traiterAjax" qui est appelé lors la requête Ajax. Pour faire un simple test, je fais juste un echo dans ma fonction.
1 2 3
| public function traiterAjax(){
echo "traiterAjax";
} |
Voici l'organisation de mes dossiers selon le modèle MVC (simplifiée) :
|Racine
|Modele ->
|Controleur ->
| _ ControleurAuthentification.php
|Vue ->
|index.php
|vueAjax.php
En vert ma première configuration où mon formulaire n'est pas inclus dans mon dossier "Vue". Lors de mon appel Ajax, je retrouve bien mon "traiterAjax" dans ma console et je suis bien rediriger vers ma page Index.php de mon dossier Authentification. Ici ma balise base est donc bien pris en compte.
A l'inverse en rouge ma deuxième configuration, où mon formulaire se trouve dans le même dossier Authentification que mon index.php vers lequel je suis redirigé vers la suite. Après mon appel mon ajax, "traiterAjax" s'affiche bien dans ma console mais je ne suis pas redirigé vers mon index mais vers localhost/authentification/authentification/index ! Et celà que sous IE.
Partager