Javascript DataTables请求未知参数错误(编辑器JS/CSS)

Javascript DataTables请求未知参数错误(编辑器JS/CSS),javascript,php,jquery,mysql,datatables,Javascript,Php,Jquery,Mysql,Datatables,抱歉,如果这是重复的,但我正在借助DataTables API构建CRUD应用程序。我试图手动编写添加、编辑和删除功能的代码,但DataTables的同事说最好使用编辑器。所以,我下载了一个JS和CSS的试用版,试用了15天 我只剩下8天的时间来使用它,我在设置它时遇到了问题。我的服务器数据未从DataTables中拉入,因为我收到以下错误: DataTables警告:表id=dataTable-为第0行第0列请求的未知参数“name”。有关此错误的详细信息,请参阅http://datatabl

抱歉,如果这是重复的,但我正在借助DataTables API构建CRUD应用程序。我试图手动编写添加、编辑和删除功能的代码,但DataTables的同事说最好使用编辑器。所以,我下载了一个JS和CSS的试用版,试用了15天

我只剩下8天的时间来使用它,我在设置它时遇到了问题。我的服务器数据未从DataTables中拉入,因为我收到以下错误:

DataTables警告:表id=dataTable-为第0行第0列请求的未知参数“name”。有关此错误的详细信息,请参阅http://datatables.net/tn/4

我不确定这意味着什么,所以我点击了出现的链接,但这没有多大意义,因为我试图确保我在表中有正确的列。我不确定是什么原因导致了这个问题。我还运行了调试器,但无法将其上载到他们,因为我的网页在上载配置时超时

以下是我的javascript代码和html表格代码:


/*
 * Editor client script for DB table members
 * Created by http://editor.datatables.net/generator
 */

(function($){

$(document).ready(function() {
    var editor = new $.fn.dataTable.Editor( {
        ajax: 'api/server.php',
        table: '#dataTable',
        fields: [       
            {
                "label": "Name:",
                "name": "name"
            },
            {
                "label": "Residential Address:",
                "name": "residential_address"
            },
            {
                "label": "Mailing Address:",
                "name": "mailing_address"
            },
            {
                "label": "Precinct:",
                "name": "precinct"
            },
            {
                "label": "Age:",
                "name": "age"
            },
            {
                "label": "Ethnicity:",
                "name": "ethnicity"
            },
            {
                "label": "Gender:",
                "name": "gender"
            },
            {
                "label": "Party:",
                "name": "party",
                "def": "REP"
            },
            {
                "label": "Race:",
                "name": "race"
            },
            {
                "label": "Phone:",
                "name": "phone"
            }
        ]
    } );

    var table = $('#dataTable').DataTable( {
        dom: 'Bfrtip',
        processing: true,
        serverSide: true,
        order: [],
        pageLength: 25,
        ajax: 'api/server.php',
        columns: [      
            {
                "data": "name"
            },
            {
                "data": "residential_address"
            },
            {
                "data": "mailing_address"
            },
            {
                "data": "precinct"
            },
            {
                "data": "age"
            },
            {
                "data": "ethnicity"
            },
            {
                "data": "gender"
            },
            {
                "data": "party"
            },
            {
                "data": "race"
            },
            {
                "data": "phone"
            }
        ],
        select: true,
        lengthChange: false,
        buttons: [
            { extend: 'create', editor: editor },
            { extend: 'edit',   editor: editor },
            { extend: 'remove', editor: editor }
        ]
    } );
} );

}(jQuery));


名称
居住地址
通讯地址
警区
年龄
种族渊源
性别
聚会
比赛
电话号码
名称
居住地址
通讯地址
警区
年龄
种族渊源
性别
聚会
比赛
电话号码
这是我的server.php文件:

<?php

// DB table to use
$table = 'members';

// Table's primary key
$primaryKey = 'id';

// Array of database columns which should be read and sent back to DataTables.
// The `db` parameter represents the column name in the database, while the `dt`
// parameter represents the DataTables column identifier. In this case simple
// indexes
$columns = array(
    //array( 'db' => 'id', 'dt' => 0 ),
    array( 'db' => 'name',  'dt' => 1 ),
    array( 'db' => 'residential_address', 'dt' => 2 ),
    array( 'db' => 'mailing_address', 'dt' => 3 ),
    array( 'db' => 'precinct', 'dt' => 4),
    array( 'db' => 'age', 'dt' => 5 ),
    array( 'db' => 'ethnicity',  'dt' => 6 ),
    array( 'db' => 'gender', 'dt' => 7 ),
    array( 'db' => 'party', 'dt' => 8 ),
    array( 'db' => 'race', 'dt' => 9 ),
    array( 'db' => 'phone', 'dt' => 10 )        
);

// SQL server connection information
$sql_details = array(
    'user' => 'root',
    'pass' => '',
    'db'   => 'ccrp_db',
    'host' => 'localhost'
);

require( 'ssp.class.php' );

echo json_encode(
    SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
?>

用简单的语言说出来

正在传递给Datatable的数据没有任何attr为“name”的数据

对此也作了解释

如果这没有帮助,请从
'api/server.php'

例如:

对于上述情况,如果您尝试

columns: [      
    {
        "data": "name"
    }
]
你会得到同样的错误

要解决此问题,您需要将数据字段更改为“数据”:“用户名”

或者添加名称为JSON

{
    "residential_address" : "Address",
    "mailing_address" : "MailAddress",
    "name" : "MyName"   
}
希望这有帮助

编辑1:

关于提供更多信息。看起来索引是错误的。 一定是这样

array( 'db' => 'name',  'dt' => 0 ),
array( 'db' => 'residential_address', 'dt' => 1 ),
array( 'db' => 'mailing_address', 'dt' => 2 ),
array( 'db' => 'precinct', 'dt' => 3),
array( 'db' => 'age', 'dt' => 4 ),
array( 'db' => 'ethnicity',  'dt' => 5 ),
array( 'db' => 'gender', 'dt' => 6 ),
array( 'db' => 'party', 'dt' => 7 ),
array( 'db' => 'race', 'dt' => 8 ),
array( 'db' => 'phone', 'dt' => 9 )   

如果仍不起作用,请参阅以了解更多详细信息

添加了更多详细信息。请检查我使用了相同的示例来创建我的server.php脚本。您是否尝试了我建议的索引值?是的,我得到了相同的结果。在这种情况下,请检查您的请求并添加“api/server.php”生成的数据
{
    "residential_address" : "Address",
    "mailing_address" : "MailAddress",
    "name" : "MyName"   
}
array( 'db' => 'name',  'dt' => 0 ),
array( 'db' => 'residential_address', 'dt' => 1 ),
array( 'db' => 'mailing_address', 'dt' => 2 ),
array( 'db' => 'precinct', 'dt' => 3),
array( 'db' => 'age', 'dt' => 4 ),
array( 'db' => 'ethnicity',  'dt' => 5 ),
array( 'db' => 'gender', 'dt' => 6 ),
array( 'db' => 'party', 'dt' => 7 ),
array( 'db' => 'race', 'dt' => 8 ),
array( 'db' => 'phone', 'dt' => 9 )