2015-01-08 1 views
0

Я пытаюсь реализовать проверку дублирования электронной почты в реальном времени в приложении с использованием PHP Codignitor, Ajax и JQuery. Но я не получаю никаких успешных результатов. Пожалуйста, помогите решить эту проблему.Проверка электронной почты в реальном времени с помощью PHP Codeignitor, Ajax и JQuery

Jquery

<script type="text/javascript"> 
$(document).ready(function() 
{ 
$("#email").keyup(function() 
{ 
    if($("#email").val().length >= 4) 
    { 
    $.ajax(
    { 
    type: "POST", 
    url: "<?php echo site_url('stthomas/check_user');?>", 
    data: "email="+$("#email").val(), 
    success: function(msg) 
    { 
    if(msg=="true") 
    { 
    $("#usr_verify").css({ "background-image": "url('<?php echo base_url();?>images/yes.png')" }); 
    } 
    else 
    { 
    $("#usr_verify").css({ "background-image": "url('<?php echo base_url();?>images/no.png')" }); 
    } 
    } 
    }); 
    } 
    else 
    { 
    $("#usr_verify").css({ "background-image": "none" }); 
    } 
}); 
}); 
</script> 

Моя форма выглядит следующим образом

<div class="form-group formgp"> 
       <label class="col-md-4" for="Inputemail">Email :</label> 
       <div class="col-md-8" > 
       <input type="text" name="email" class="form-control" id="email" value="<?php echo set_value('email'); ?>" placeholder="Email"> <span id="usr_verify" class="verify"></span> 
       </div> 
      </div> 

Контроллер:

public function check_user() 
{ 
$usr=$this->input->post('email'); 
$result=$this->stthomas_model->check_user_exist($usr); 
if($result) 
{ 
    echo "false"; 
    } 
else{ 
    echo "true"; 
    } 
} 

Модель:

public function check_user_exist($usr) 
{ 
$this->db->where("email",$usr); 
$query=$this->db->get("email"); 
if($query->num_rows()>0) 
{ 
    return true; 
} 
else 
{ 
    return false; 
} 
} 

Решение будет оценено

+0

какую ошибку вы получаете в консоли? – goseo

+0

У меня нет сообщений об ошибках. Но он не работает .... –

+0

информации об устранении неполадок нет. Осмотрите фактический запрос на полную информацию в консоли браузера и сообщите о всех результатах. Зачем вам проверять каждую клавиатуру для электронной почты? – charlietfl

ответ

0

Нелегко догадаться, в чем проблема, но лучше проверить детали ошибки jQuery ajax. Вы просто установить успеху часть процесса в вашем коде:

success: function(msg){ 

Посмотрите, что ошибка у вас есть, если Аякс получает ошибку:

success: function(msg){ 
    // success code 
}, 
error: function(xhr, status, error) { 
    var err = eval("(" + xhr.responseText + ")"); 
    alert(err.Message); 
} 
Смежные вопросы