【发布时间】: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