Я построил функцию для проверки имени пользователя.Я использую его как обратный вызов для проверки формы в CodeIgniter, и он работает хорошо.Тем не менее, я хотел бы также использовать его с AJAX для проверки на лету, если у пользователя включен JS.Таким образом, мой контроллер имеет следующее:
function check_username($s = FALSE)
{
if ($s):
$this->db_common->like('username', $s);
$query = $this->db_common->get('users');
if ($query->num_rows() > 0):
$this->form_validation->set_message('check_username', 'Username taken. Choose another!');
return FALSE;
else:
return TRUE;
endif;
else:
echo 'Username required';
endif;
}
И мой HTML / JS таков:
$(document).ready(function()
{
var delayed;
$("#username").keyup(function()
{
clearTimeout(delayed);
var value = this.value;
if (value)
{
delayed = setTimeout(function() {
$.ajax
({
type: "POST",
url: "<?php echo base_url(); ?>auth/check_username/",
data: $("#username").val(),
success: function(html)
{
$("#username_check").html(html);
}
});
}, 100);
}
});
});
По сути, я возвращаю FALSE, если имя пользователя существует, и TRUE, если оно существует.Как мне заставить мой jQuery AJAX увидеть это?По сути, я хочу, чтобы jQuery проверил, ложно ли это, а затем произнесите «имя пользователя существует», а если это правда, то «имя пользователя в порядке».