【问题标题】:DataTables saveState in database not working数据库中的 DataTables saveState 不起作用
【发布时间】:2017-11-17 13:13:32
【问题描述】:

我正在使用DataTables 为我的网站创建一个交互式表格。我需要的是,每次用户在他的表上进行更改时,表的状态(Save State)将保存在我的数据库中,下次他访问时,他将在表中进行更改(每个用户都有一个帐户)

我尝试了下面的代码,但它没有按照应有的方式将更改保存在数据库中。 (更改的列是空的)。我还在开发工具中收到一条错误消息(见下面的代码)。任何提示为什么会发生这种情况?

"stateSave": true,
'stateSaveParams.dt': function(e, settings, data) {
   data.search.search = "";
},
//SaveState
'stateSaveCallback': function(settings, data) {;
   $.ajax({
      'url': 'saveDtableState.php',
      'data': {
         name: 'resultsTable',
         data: data
      },
      'dataType': 'json',
      'method': 'POST',
      "success": function() {
         console.log()
      },
      error: function(xhr, ajaxOptions, thrownError) {
         console.log(thrownError);
      }
   });    
}

错误信息

SyntaxError: Unexpected end of JSON input
    at parse (<anonymous>)
    at Qb (jquery-3.2.1.min.js:4)
    at A (jquery-3.2.1.min.js:4)
    at XMLHttpRequest.<anonymous> (jquery-3.2.1.min.js:4)

编辑:后端代码

$dataTable_name = $_POST['name'];
$dataTable_state = $_POST['state'];
$userID = 'random1';

if(!empty($userID)){
  $stateSave_query = mysql_query("INSERT INTO $table_name (userID, dtable_name, dtable_state) VALUES ('$userID', '$dataTable_name', '$dataTable_state') ")or die(mysql_error());

【问题讨论】:

  • 在我看来您的后端无法正常工作; “JSON 输入意外结束”表示 JSON 格式错误或根本没有响应内容。除此之外,从stateSaveParams.dt 中删除.dt,它是一个回调,而不是一个有命名空间的事件。
  • @davidkonrad 我更新了我的帖子并包含了后端。其他列都被填满了..只是表状态的列没有

标签: php mysql database datatables


【解决方案1】:

您正在尝试解析实际上不是有效 json 对象的数据。请检查您的 json 解析方法数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-14
    • 2018-11-16
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多