Jquery Datatable在DB中保存状态而不是在客户端

时间:2016-09-13 05:13:24

标签: javascript jquery ajax datatable datatables-1.10

我需要在DB中保存数据表的状态。我想在按下保存状态按钮的点击事件时应该怎么做一个保存状态按钮?我必须覆盖哪些函数来向包含datatable状态的服务器发送ajax请求?我还想从DB中保存状态加载。

2 个答案:

答案 0 :(得分:0)

我假设通过“保存状态”实际上意味着保存对数据库的更改?

如果是这样,您希望将哪些内容存储在数据库中?

以示例:

经典场景是包含输入元素的表单,例如用户个人资料或联系表单等。

您通常从客户端执行的操作是捆绑表单输入数据并使用AJAX将其发送到服务器,然后在服务器端处理表单数据并最终保存到数据库(例如MySQL)。

原始(和旧版)方法是在表单中有一个提交按钮,并确保设置表单的“操作”和“方法”属性 - 然后单击提交按钮时,将提交表单数据到“action”属性中给出的路径,该属性是服务器上应该具有用于​​处理数据并将数据存储在数据库中的服务器端代码的路径。

希望它有所帮助

答案 1 :(得分:0)

使用stateSaveCallback回调

"stateSaveCallback": function (settings, data) {
    // Send an Ajax request to the server with the state object
    $.ajax( {
      "url": "/state_save",
      "data": data,
      "dataType": "json",
      "type": "POST",
      "success": function () {}
    } );

了解更多信息:https://datatables.net/reference/option/stateSaveCallback

用于加载使用stateLoadCallback回调

 "stateLoadCallback": function (settings) {
    var o;
    $.ajax( {
      "url": "/state_load",
      "async": false,
      "dataType": "json",
      "success": function (json) {
        o = json;
      }
    } );

    return o;
  }

更多信息:https://datatables.net/reference/option/stateLoadCallback