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:
Côté serveur, qui est fonctionnel, on a un premier fichier (ctrl.php)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Un deuxième fichier qui envoie le résultat au format json
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 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']);
Et le javascript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }); });
merci,
Partager