Rails jQuery UJS回调没有触发

前端之家收集整理的这篇文章主要介绍了Rails jQuery UJS回调没有触发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试触发ajax:远程链接的成功回调.我在Rails 3.0.8和 jquery-rails 1.0.11上.我运行了jquery生成器来安装 javascripts. jquery和jquery_uj都包含在我的默认值中,我可以验证它们是否包含在页面中.

这是我的javascript:

jQuery(function($) {
  $("#deactivate")
    .bind("ajax:success",function() {
      alert("HELLO");
    })
    .bind("ajax:error",function() {
      alert("GOODBYE");
    }
  );
});

链接

= link_to 'Deactivate',activate_patient_path(patient),:id => 'deactivate',:class => "button button-red",:remote => true

激活动作:

def activate
    patient = Patient.find(params[:id])
    patient.do_not_call = !patient.do_not_call
    if patient.save
      render :nothing => true
    else
      render :status => 500,:nothing => true
    end
end

ajax调用似乎工作正常.触发操作,我可以看到数据库中的更改.但是,没有触发ajax回调.我不能让他们中的任何一个工作.我可以获得其他事件,例如点击,以便完美地工作.

如果我在Firebug中调试rails_ujs,我会看到以下代码从Rails ajax块运行:

success: function(data,status,xhr) {
  element.trigger('ajax:success',[data,xhr]);
}

我很难过.有任何想法吗?

解决方法

确保在rails.js之后你没有再次包含jquery.js …我遇到了类似的问题,其中jquery.js被包含两次,并且rails.js包含在其中.
原文链接:https://www.f2er.com/jquery/176037.html

猜你在找的jQuery相关文章