JQuery Ajax завершен, не стреляя по рельсам - PullRequest
3 голосов
/ 12 марта 2011

У меня есть следующий удаленный тег link_to, определенный следующим образом:

 =link_to "",  {:action => "destroy", :id => user.id}, :remote => true, :method => :delete, :class => "delete-icon"

Это работает нормально, но я хочу подключиться к событиям jjery 1.5.1 ajax, чтобы предоставить уведомление пользователю.Я должен обработчики событий, определенные ниже, ajax: до запуска события, но ни один из остальных не делает.Может ли кто-нибудь увидеть, что я делаю не так.Я тестирую это на сафари 5

$(function(){ 
    $('.delete-icon').bind("ajax:before",  //fires
                function(){
               $('#progress').show(300);
    });

    $('.delete-icon').bind('ajax:after', //does not fire
        function(xhr, status, error) {
            alert("complete!");
    });

});

Ответы [ 2 ]

2 голосов
/ 14 марта 2011

Вы должны попытаться связать с «complete» вместо «ajax: after». Если вы предпочитаете, чтобы вас замечали только тогда, когда вы добились успеха, попробуйте вместо этого «успех».

0 голосов
/ 29 марта 2013

В вашем случае я рекомендую использовать "complete", и ваша функция должна принимать 4 параметра

$('.delete-icon').bind('ajax:complete', //this will work
    function(event, data, status, xhr) { //note parametes
        alert("complete!");
});

Возможно, вы захотите прочитать эту статью для получения дополнительной информации Jquery-ujs и Jquery Trigger

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