2

我正在使用 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') %>");
4

1 回答 1

6

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

我刚刚创建了一个名为application.js.erb以下内​​容的布局:

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

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

无需更改任何其他内容。

于 2013-10-11T13:58:20.067 回答