JQuery Ajax после успеха / ошибка функции - PullRequest
2 голосов
/ 06 сентября 2011

Я пытаюсь реализовать следующий код, который успешно выполняется, но проходит через функцию успеха.Я поместил туда предупреждение, которое отображается только на мгновение, но следующий вызов jquery-сообщения не появляется.(функция сообщения работает в других случаях на той же странице).

Использование jquery 1.6.

Есть идеи, почему код выполняется не так, как должен?Спасибо!

$(document).ready(function(){
   $('#postride').submit(function() {

     dataString = $("#postride").serialize();
     $.ajax({
        type: "post",
        url: "postride.php",
        data:dataString,
        error: function() {
            alert('error!');
            $(".message").text('An error occurred');
            $(".message").fadeIn("slow");
            $(".message").delay(2000).fadeOut(1000);    
        },
        success: function () {
            alert('success!');
            $(".message").text('Your post has been completed');
            $(".message").fadeIn("slow");
            $(".message").delay(2000).fadeOut(1000);    
            setTimeout( function() { top.location.href="view.php" }, 3000 );    
        }
     })
    });
});

Ответы [ 2 ]

4 голосов
/ 06 сентября 2011

Я думаю, #postride - это форма, которую вы публикуете, используя ajax.Проблема в вашем коде заключается в том, что вы не останавливаете поведение формы по умолчанию для отправки.Как только вы отправите форму, отправьте сообщение до того, как придет ответ на вызов ajax, и вы почти ничего не увидите.

0 голосов
/ 06 сентября 2011

Если я не правильно понял, вы не получите свое сообщение для показа текста?

Я сделал jsfiddle для проблемы и похоже, что он работает правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...