绑定到远程表单完成事件

时间:2013-10-11 13:33:45

标签: javascript ruby-on-rails ruby

我正在使用Nprogress在我的Rails应用上显示ajax请求的加载状态。我已经完成了使用所有普通的ajax调用,但我现在遇到了rails远程表单的问题。

我现在正在使用这种在大多数情况下效果很好的绑定。

$(document).bind('ajax:before', function(){
  NProgress.start();
}).bind('ajax:complete', function () {
  NProgress.done();
}).bind('ajax:success', function () {
  NProgress.done();
}).bind('ajax:error', function () {
  NProgress.done();
});

我的问题是我的js响应正在替换表单以显示错误,这就是导致进度条永远不会完成的原因。

我的问题是,是否有任何其他方式来监听远程调用是否完成,或者是否有办法在每个远程js响应上运行一种回调。也许js响应的某种布局?

我的js.erb回复看起来像这样

$('.add-form').html("<%= j(render partial: 'partial/path') %>");

1 个答案:

答案 0 :(得分:5)

Whaat !!!我刚刚用布局解决了我的问题!!!! :D有意义的是,它们的工作方式与html布局相同,但我不确定它是否会起作用!

我刚刚创建了一个名为application.js.erb的布局,其中包含以下内容:

<%= yield %>
NProgress.done();

它只是有效!我真的很高兴,因为这正是我所需要的,一种后回调。

无需更改任何其他内容。