javascript - 使用 AJAX 的数据表 - 如何与特定页面共享 URL?

标签 javascript ruby-on-rails ajax datatables

我正在使用 Datatables,并通过 AJAX 获取数据(在我的服务器端我有 Rails)。

假设我想与另一个用户共享正在使用数据表的 View 之一的页码 2。由于分页是通过AJAX完成的,因此URL中没有页码的跟踪,因此无法完成。

当您想要共享特定页面 (?page=1) 时,如何处理通过 AJAX 完成的分页?

谢谢

最佳答案

DataTables 提供了在 AJAX 调用中发送自定义参数的可能性。

$(function () {
  var requestsTable = $('#my_table').DataTable({
    'processing': true,
    'serverSide': true,
    'searching': false,
    'ajax': {
      'url': '/my/ajax/callback',
      'type': 'GET',
      'data': function (d) {
        return $.extend({}, d, {
          'pageNum': $('#cachedPageNumInHiddenField').val()
        })
      }, "error": function () {
       alert("An unexpected error occurred.");
      }
    }
  ]
});

您需要在页面上放置一个隐藏的输入字段。然后在下一个和上一个按钮的单击事件上挂接一个监听器。

有关如何在页面更改上 Hook 自定义事件,请参阅线程 Detect page change on DataTable .

关于javascript - 使用 AJAX 的数据表 - 如何与特定页面共享 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24922499/

相关文章:

ruby-on-rails - 如何使用地理编码 gem 获取时区?

javascript - PHP网页上的进度条

javascript - .on 或 .live 函数均未被识别

ruby-on-rails - 如何在 Rails 5.1 中为 Chrome headless 系统测试设置屏幕尺寸?

javascript - 第二个 onload 函数不起作用

ruby-on-rails - ActiveRecord,其中至少存在 x 条关联记录

java - Selenium - 等待页面渲染动态页面

javascript - 加载并附加 AJAX 成功

javascript - 我需要添加什么代码才能让这个 javascript 在文本末尾自动添加 3 个点?

javascript - 滚动事件不会在 Sencha Touch 中触发