Je suis tryin pour valider un champ de saisie avec un appel ajax à un contrôleur CakePHP Mon Ajax est:Réponse Ajax CakePHP contrôleur retour null
$("#UserAlphaCode").change(function() {
$.ajax({
type: "post",
url: '<?php echo $this->webroot ?>' + "/alpha_users/checkCode",
data: ({code : $(this).val()}),
dataType: "json",
success: function(data){
alert (data);
},
error: function(data){
alert("epic fail");
}
});
});
Mon code contrôleur
function checkCode() {
Configure::write('debug', 0);
$this->autoRender = false;
$codePassed = $this->params['form']['code'];
$isCodeValid = $this->find('count',array('conditions'=> array('AlphaUser.code' => $codePassed)));
if ($isCodeValid == 0){
$codeResponse = false;
} else {
$codeResponse = true;
}
echo json_encode ($codeResponse);
}
I Je suis sûr que j'utilise $ this-> params faux ici pour accéder aux données envoyées par la requête ajax. Que devrais-je faire à la place?
Après avoir essayé votre suggestiong $ codePassed = $ _POST [ « code »] Je suis en mesure de retourner ce retour à l'alerte (données) Je l'ai testé en changeant ma sortie du régulateur de écho json_encode (codeResponse $); à echo json_encode ($ codePassed); Cela a fonctionné. Mais quand j'essaie de retourner $ isCodeValid Je reçois une réponse nulle. – wcolbert
Peut-être que quelque chose ne va pas avec mon $ isCodeValid = $ this-> find ('count', array ('conditions' => array ('AlphaUser.code' => $ codePassed))); – wcolbert
J'ai vérifié le contenu de l'en-tête et je n'ai rien, mais il y a une erreur dans le débogueur chrome qui dit "Uncaught TypeError: Impossible de lire la propriété 'codeResponse' de null" – wcolbert