2016-05-01 3 views
0

Я пытаюсь проверить доступность имени пользователя из базы данных с помощью $ .post jQuery. Я не знаю, является ли путь неправильным или неправильный скрипт php, но он продолжает возвращать данные пустых или нулевых значений. Почему это?

JS файла:

$(document).ready(function(){ 


$("#signup_username").bind("keyup blur",function(){ 
    $("#loading_img_username").show(); 
    var prompt_username = $("#signup_username").val(); 
    if(prompt_username != ''){ 

     $.post('php/check.php', {username: prompt_username} , function(data){ 
      $("#signup_username_status").html(data); 
      $("#loading_img_username").hide(); 

     }).error(function(){ 
      $("#loading_img_username").hide(); 
      $("#signup_username_status").html("<span style='color:#cc2000;'><i class='glyphicon glyphicon-remove'></i> Cannot verify username availability.</span>"); 
     }); 
    } else{ 
     $("#signup_username_status").html("<span style='color:gold;'><i class='glyphicon glyphicon-info-sign'></i> Provide your username.</span>"); 
     $("#loading_img_username").hide(); 
    } 


    }); 
}); 

PHP FILE:

<?php 
$user = $_POST['username']; 
    echo $user; 

Я знаю, что все, что вы подскажете в поле ввода:

#signup_username
будет выход, как данные будут передавать функцию обратного вызова в $ .post

+0

Вы посмотрели вызов в консоли? Если бы вы знали, был ли ваш путь правильным, так как это дало бы вам ошибку, если бы не удалось найти ресурс. Затем проверьте, что вы отправляете на сервер (в заголовке для запроса на отправку). Вы также можете распечатать на php все ваши $ _POST vars и посмотреть, есть ли в списке имя пользователя. – scrappedcola

+0

нашел его. проблема в имени пути. но я не знаю, чтобы упростить этот URL: ** http: //localhost/project/app/views/login_register/js/php/check.php** в javascript извините, я новичок. –

ответ

0

Рекомендация 1:

jQuery Его функция сообщения использует типы данных для получения информации, вы используете этот тип данных «текст» в этот момент. Я должен использовать XML или JSON, так как это более понятно для чтения.

$.post('url', {username: prompt_username}, function(data) { 
    $("#signup_username_status").html(data.username); 
    $("#loading_img_username").hide(); 
}, 'JSON'); 

Вам нужно кодировать данные в PHP, если вы делаете это:

$user = $_POST['username']; 
die(json_encode(array('username'=>$user))); 

Рекомендация 2:

Не работает ваш запрос пост JQuery? Отлаживайте его с помощью функции .error, это удобно, если вы знаете, как его использовать! Вот пример того, как исправить ошибки:

$.post('url', {username: prompt_username}, function(data) { 
    $("#signup_username_status").html(data.username); 
    $("#loading_img_username").hide(); 
}, 'JSON').error(function(a,b,c) { 
    console.log(a,b,c); 
}); 
Смежные вопросы