@alex_p95
Учусь

Не работает простейший ajax запрос?

Здравствуйте, товарищи! 2 день бьюсь и не могу понять почему не работает...
Пробовал сделать в одном проекте авторизацию с помощью AJAX(без ajax все шикарно работает на сессиях, бд и куки), но почему-то неправильно выводится результат...
Решил сделать на простом примере и здесь то же не работает и не могу понять почему...
Спасибо всем за помощь!
Привожу пример самой формы:
<form method="post" id="form">
    <input type="text" name="login" id="login">
    <button type="submit" name="submit" id="submit">Отправить</button>
</form>


php:
<?php
if(isset($_POST['submit'])){
    if($_POST['login'] == "Admin"){
       echo "Неправильно";
    }
    else {
        echo $_POST['login'];
    }
}
?>

AJAX:
$('#form').submit(function(){
        var str = $(this).serialize();
        $.ajax({
            type: "POST",
            data: str,
            success: function(data){
                if(data =='Неправильно'){
                    alert('Неправильно');
                }
                else {
                    alert("Правильно");
                }
            }
        });
        return false;
    });
  • Вопрос задан
  • 498 просмотров
Решения вопроса 1
petyagrill
@petyagrill
Он и должен всегда показывать правильно при таком подходе
Ведь кроме результата обработки php в ответ вы получаете всю сгенерированную html страницу

если быстро хотите решить задачу то поменяйте код php на
<?php
if(isset($_POST['submit'])){
    if($_POST['login'] == "Admin"){
       echo "Неправильно";
return;
    }
    else {
        echo $_POST['login'];
return;
    }
}
?>

Но работать оно будет если php находиться в самом начале страницы, и главное проверьте нет ли лишних пробелов
Ну а лучше обработку ajax перенесите в отдельный скрипт
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
EnterSandman
@EnterSandman
Эникей
Так а в консольке чего пишуть?
jQuery не забыли подрубить?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы