rails3中的Ajax回调

时间:2010-11-24 05:23:17

标签: ruby-on-rails-3

在rails 2中,对于ajax形式,我们可以像之前,之后那样使用ajax回调等。如何在rails 3中进行。

3 个答案:

答案 0 :(得分:17)

我遇到了同样的问题,this post帮助我解决了问题。基本上你需要将一个监听器附加到对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 :(得分:1)

将一个函数绑定到ajax:成功,因为morbaq建议为我工作。

但是,我认为如果有一个以上的ajax行为与该元素相关联,则该函数将针对每个元素运行。

答案 2 :(得分:0)

如果您还想为ajax发送监听器,请使用以下代码

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

我花了一个小时来找到这些t2的东西

  1. 我们必须把它放在document.ready
  2. 当您编写ajax:beforeSend
  3. 时,S为大写字母
  4. 不要使用ajaxSend而不是ajax:beforeSend ....因为它为所有ajax事件添加了全局处理程序