Я пытаюсь проверить поле ввода с помощью Ajax вызова к контроллеру CakePHP Мой Ajax является:Ajax Ответ CakePHP контроллера возвращения нулевой
$("#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");
}
});
});
Мой код контроллера
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 Я уверен, что я использую $ this-> params здесь неправильно, чтобы получить доступ к данным, отправленным из запроса ajax. Что я должен делать вместо этого?
После попытки вашего suggestiong $ codePassed = $ _POST [ «кода»] я смог вернуться назад, что в боевую готовность (данные) я проверил это, изменив свой выход контроллера из эха json_encode ($ codeResponse); - echo json_encode ($ codePassed); Это сработало. Но когда я пытаюсь вернуть $ isCodeValid Я получаю нулевой ответ. – wcolbert
Возможно, что-то не так с моим $ isCodeValid = $ this-> find ('count', array ('conditions' => array ('AlphaUser.code' => $ codePassed))); – wcolbert
Я проверил содержимое заголовка, и ничего не получаю, но в хром-отладчике есть ошибка, в которой говорится: «Uncaught TypeError: Can not read property» codeResponse »null» – wcolbert