【发布时间】:2020-08-02 06:03:38
【问题描述】:
Rails 5.2 和 gem 'jquery-rails'、'jquery-ui-rails'
我正在尝试使用以下处理程序 .ajaxStop( handler ),如下所述:https://api.jquery.com/ajaxStop/#ajaxStop-handler
我在同一个页面上有多个 rails(远程)表单。单击按钮时,所有表单都已提交,所有 ajax 调用都已成功发送,并且每个表单的每个 .on("ajax:success") 事件都会被触发。到目前为止,一切都很好。问题是我想在所有 ajax 调用都完成后执行一些 JS 代码。
我按照 jquery 文档中的描述尝试了以下操作:
$( document ).ajaxStop(function() {
console.log("test1");
});
也试过这个,因为我在 Rails 文档页面 https://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html#rails-ujs-event-handlers 上找到了这个事件名称:
$(function() {
$( document ).on("ajax:stopped", function() {
console.log("test2");
});
});
没有运气。什么都没有打印出来。
有什么方法可以用 Rails 做到这一点吗?我应该使用什么正确的事件?
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax