Bonjour/ bonsoir,

Voulant me mettre au json et ayant regardé le tuto vidéo éponyme, je suis parti également 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:

<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)

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

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:

$(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. Où est ce que je pêche ?
merci,

1 réponse


yann18
Auteur
Réponse acceptée

C'est sûr que si je ne complète pas la fonction, ça ne risque pas de fonctionner...

$.post('ctrl.php', $(this).serialize(), function(data){
if(data.reponse == 'ok'){
alert('Formulaire bien rempli');
} else {
alert('Problème');
}
}, 'json');