Retour inexistant avec json
Bonjour/ bonsoir,
Voulant me mettre au json, je suis parti d'un formulaire tout simple. Le but étant de vérifier si les champs ont bien été remplis. l'envoie des données se fait avec jquery, mais le retour se fait avec json.
Le formulaire:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <form id="form1" name="form1" method="post">
<p>user :
<label for="user"></label>
<input type="text" name="user" id="user" />
</p>
<p>password :
<label for="password"></label>
<input type="text" name="password" id="password" />
</p>
<p id="reponse"></p>
<p>
<input type="submit" name="btn" id="btn" value="Envoyer" />
</p>
</form> |
Côté serveur, qui est fonctionnel, on a un premier fichier (ctrl.php)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| include_once 'class.php';
class ctrl{
private $model;
public function __construct(){
$this->model = new model();
}
public function register($login, $password){
if(isset($login) and isset($password)){
$this->model->verifVar($login, $password);
}
}
}
$ctrl = new ctrl();
$ctrl->register($_POST['user'], $_POST['password']); |
Un deuxième fichier qui envoie le résultat au format json
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| class model{
public $tab = array();
public function verifVar($user, $pwd){
if(!empty($user) and !empty($pwd)){
$this->tab['reponse'] = 'ok';
} else {
$this->tab['reponse'] = 'Le login ou le mot de passe n\'est pas bon';
}
echo json_encode($this->tab);
}
} |
Et le javascript:
Code:
1 2 3 4 5 6 7
| $(function(){
$('#form1').bind('submit', function(){
$.post('ctrl.php', $(this).serialize(), function(data){}, 'json');
alert(data.reponse);
return false;
});
}); |
Uniquement avec php, j'ai bien un retour au format json. Mais je n'ai rien avec javascript, y compris au niveau de la console. Je ne comprends pas...
merci,