#php #ajax #database #continuous-integration
#php #ajax #База данных #непрерывная интеграция
Вопрос:
Я хочу проверить имя пользователя в форме, доступной или недоступной для создания. Затем я использую ajax для проверки в базе данных без перефразирования страницы. Затем я создаю это, но ответ всегда возвращает false. Я пробую только контроллер с print_r, функция cek_user() может получить значение true и false. Пожалуйста, помогите, как моему ajax вернуть false или true. Спасибо раньше.
Я использую ajax и CI
вот мой contoller User.php
public function cek_user()
{
$username = $this->input->post('user_name');
$query = $this->db->query("SELECT * FROM tb_user where username='".$username."'");
if($query->num_rows() > 0)
{
return false;
}
else
{
return true;
}
}
и это моя форма add_user.php
<div class="form-group col-md-6">
<div class="input-group">
<span class="input-group-addon">@</span>
<input id="username" name="username" type="text" class="form-control col-xs-6" placeholder="Username">
</div>
</div>
<div id="chk_username" class="form-group col-md-6">
</div>
и это мой ajax-скрипт add_user.php
$('#username').change(function(){
var username = $('#username').val();
if(username != "")
{
$.ajax(
{
type : "POST",
url : "<?php echo base_url();?>user/cek_user",
data : { user_name:username },
dataType: "text",
success : function(response)
{
if (response == true)
{
$('#chk_username').html("<div class='btn btn-sm btn-block btn-success'>Username tersedia</div>");
console.log("true");
}
else if(response == false)
{
$('#chk_username').html("<div class='btn btn-sm btn-block btn-danger'>Username tidak tersedia</div>");
console.log("false");
}
}
});
}
});
как получить значение true или false из этого ajax-скрипта?
Комментарии:
1. Как вы возвращаете результат
cek_user()
клиенту? Если вы используете,echo
thentrue
будет отображен как1
иfalse
будет пустой строкой. Если вы используете JSON, вам нужно использоватьdataType: "json"
в клиенте.2. Какое отношение к этому имеет CI? Это инженерный процесс, он не имеет ничего общего с тем, как на самом деле работает код.
3. @Barmar Я имею в виду, что то, что вводится в имени пользователя, может быть проверено в базе данных с помощью ajax, так где же неправильный?
4. Что
console.log(response)
показывает?5. Если вы возвращаете текст, вы должны сравнить со строкой:
if(response == "true")