Ajax回调不能与Rails 3.0.5和jQuery 1.5.1一起使用

我在我的网站上使用kaminarigem进行了ajax分页,但是我很难让ajax回调工作

我正在使用jquery-1.5.1,rails 3.0.5并且我有最新的rails.js文件

我的podcasts.html.haml如下所示

 #paginator = paginate @podcasts, :remote => true #podcasts = render @podcasts 

我的index.js.erb文件如下所示:

 $('#podcasts').html(''); $('#paginator').html(' true).to_s) %>'); 

事情的分页方面工作正常,页面确实通过ajax加载,但我想做一些ajax回调,我只是无法弄清楚如何让这个工作。

我已经尝试将以下代码的大量变体添加到我的application.js文件中,但根本没有成功:

 $('#paginator a').bind('ajax:success', function(data, status, xhr) {alert("success!");}) 

我希望上面的代码能够在ajax完成后触发警报。 什么都没发生。

有人有任何想法吗?

PS

上面的paginate方法来自Kaminari gem ,它创建了以下html:

  

我无法完全按照你的代码,但我做了一个简单的测试(jquery 1.5.1,rails 3.0.5),它适用于我:

ajax_controller.rb

 class AjaxController < ApplicationController def get_data respond_to do |format| format.js { sleep 1; render :json => "ajax value" } end end end 

index.html.erb

 <%= link_to "get_data", get_data_path, :remote => true, :id => 'request' %> 
<%= javascript_tag do %> $("#response").html("default value"); $("#request").bind("ajax:success", function(e, data, status, xhr) { $("#response").html(data); }); <% end %>

的routes.rb

  get "ajax/index" get "ajax/get_data", :as => "get_data" 

我希望这有帮助。