Ajax обратные вызовы в рельсах3 - PullRequest
8 голосов
/ 24 ноября 2010

В рельсах 2 для формы ajax у нас могут быть обратные вызовы ajax, как до, после и т. Д. Как это сделать в рельсах 3.

Ответы [ 3 ]

17 голосов
/ 25 ноября 2010

У меня та же проблема, и этот пост помог мне разобраться. По сути, вам нужно присоединить слушателя к элементу, который реагирует на события обратного вызова rails. Например:

<%= link_to 'Delete', post, 
  :confirm => 'Are you sure?', 
  :method => :delete, 
  :remote=>true, 
  :id=>'delete' %>

В отдельном js-файле (чтобы сделать его незаметным) с помощью jQuery:

$('#delete').bind('ajax:success', function() {
  // do something
});
1 голос
/ 26 января 2013

Привязка функции к ajax: успех, как предложил morbaq, сработал для меня.

Однако я думаю, что если с элементом связано более одного поведения ajax, функция будет выполняться для каждого из них.1003 *

0 голосов
/ 07 апреля 2012

Если вы также хотите добавить прослушиватель для ajax send, используйте следующий код

$(document).ready(function() {
  $('#topnav-buildings').bind('ajax:beforeSend', function() {
    blockDiv('#topnav-buildings');
  });
});

Я потратил час, чтобы найти эти t2 вещи

  1. мы должны положить его внутрь документа. Уже
  2. S пишется прописными буквами, когда вы пишете ajax: beforeSend
  3. Не используйте ajaxSend вместо ajax: beforeSend ...., поскольку он добавляет глобальный обработчик для всех событий ajax
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...