Попытка проверить форму с помощью AJAX. Тот же код, другое поведение - PullRequest
1 голос
/ 23 июня 2011

Я работаю над проектом на своем сайте разработчика, который имеет тот же код, что и мой производственный.

Это простая проверка формы с использованием ajax.Вот код для dispuser.php:

$username = protect($_POST['user_name']);
$dispuser = new user();
$dispuser->username = $username;
$res = $dispuser->get("all");
$num = mysql_num_rows($res);

if ($num>0)
{
    echo "no";
}
else
{
    echo "yes";
}

Вот код JavaScript:

$(document).ready(function()
{
    $("#username").blur(function()
    {
        $("#msgbox").removeClass().addClass('messagebox').text('Verificando...').fadeIn("slow");
        $.post("./dispuser.php",{ user_name:$(this).val() } ,function(data)
        {
            if(data=='no')
            {   
                document.getElementById("submitBT").disabled = true;
                $("#msgbox").fadeTo(200,0.1,function()
                { 
                    $(this).html('Not available').addClass('messageboxerror').fadeTo(900,1);
                });     
            }
            else
            {
                $("#msgbox").fadeTo(200,0.1,function()
                { 
                    document.getElementById("submitBT").disabled = false;   
                    $(this).html('Available!').addClass('messageboxok').fadeTo(900,1);           
                });
            }
        });
    });
});

А вот HTML-код:

<td><label for="username">Usuário: </label></td>
<td><input type="text" name="username" id="username" /></td>
<td><span id="msgbox" style="display:none; no-padding;"></span></td>

Я уже отслеживалответ с firebug и все ок!(возвращает «да», когда пользователь доступен, и «нет», когда он недоступен.

У меня точно такой же код: pp.atoanavida.com.br/registro.php и www.pesometro.com.br/registro.php

Вы можете попробовать с пользователем »atoanavida ". Он недоступен, и обе базы данных абсолютно одинаковы.

Моя проблема: мой рабочий сайт работает нормально, показывая правильное сообщение, когда пользователь недоступен. На моем сайте разработчика, которыйимеет один и тот же код, скрипт всегда показывает «пользователь доступен».

1 Ответ

2 голосов
/ 23 июня 2011

По какой-то причине возвращаются данные "\ nNo", как в NewLine, а затем нет.Вы можете исправить эту сторону php или просто обрезать данные в javascript перед if (data == 'no') ...

примерно так:

data = data.replace(/^\s+|\s+$/g,"");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...