DataTables警告:请求行''的数据源中未知参数'4'

时间:2013-12-29 18:14:35

标签: datatables jquery-datatables

我正在寻找这个问题的天和日,但没有解决它! 将学生添加到我的数据库后会出现此警告。数据的持久性是好的,所以我需要隐藏此错误或进行调整。  所以我有一个Datables给我这个错误:

enter image description here

这是我的HTML代码:

<script type="text/javascript">
    $(document).ready(function () {

        $("#companies").dataTable({
            "bServerSide": true,
            "sAjaxSource": "/studentiSource",
            "bProcessing": true,
            "sPaginationType": "full_numbers",
            "bJQueryUI": true,
            "aoColumns": [
                          {  "sName": "ID", "mDataProp": null,
                             "bSearchable": false,
                             "bSortable": false,
                             "bVisible": false
                                 },
                  { "sName": "NOME",},
                  { "sName": "COGNOME"},
                  { "sName": "USERNAME"},
                  { "sName": "PASSWORD" },
                  { "fnRender": function (oObj) {
                      console.log(oObj);                          
                      return '<a href=${pageContext.request.contextPath}/modificaStudente.jsp?id=' + oObj.aData[0] + '>' + 'Gestisci' + '</a>';
                    }}

                 ]
     }).makeEditable({
         sUpdateURL : "/updateStudenti" ,
         sAddURL: "/studenteServlet",
         sDeleteURL: "/deleteStudenti",
         fnShowError: function (message, action) {
             switch (action) {
                 case "update":
                     jAlert(message, "Update failed");
                     break;
                 case "delete":
                     jAlert(message, "Delete failed");
                     break;
                 case "add":
                     $("#lblAddError").html(message);
                     $("#lblAddError").show();
                     break;
             }
         },
         fnStartProcessingMode: function () {
             $("#processing_message").dialog();
         },
         fnEndProcessingMode: function () {
             $("#processing_message").dialog("close");
         }
      });
                });

表格是:

 <div id="container">
        <div id="demo_jui">
        <button id="btnAddNewRow" value="Ok">Aggiungi nuovo studente...</button> 
        <button id="btnDeleteRow" value="cancel">Rimuovi utente selezionato</button>
        <div id="processing_message" style="display:none" title="Processing">Attendere.. Caricamento dati in corso</div>
            <table id="companies" class="display">
                <thead>
                    <tr>
                        <th>ID</th>
                        <th>Nome</th>
                        <th>Cognome</th>
                        <th>Username</th>
                        <th>Password</th>
                        <th>Dispense</th>


                    </tr>
                </thead>
                <tbody >

                </tbody>
            </table>
        </div>


        <form id="formAddNewRow" action="#" title="Aggiungi nuovo studente">
                    <label id="lblAddError" style="display:none" class="error"></label>

            <input type="hidden" id="id" name="id" value="-1" rel="0" />
            <input type="hidden" value="aggiungi" name="action">
            <label for="name">Nome</label><input type="text" name="nome" id="name" class="required" rel="1" />
            <br />
            <label for="name">Cognome</label><input type="text" name="cognome" id="address" rel="2" />
            <br />
            <label for="name">Username</label><input type="text" name="username" id="postcode"/>
            <br />
            <label for="name">Password</label><input type="text" name="password" id="town" rel="3"/>
            <br />

        </form>

    </div>

我正在使用Datatables 1.9.4

2 个答案:

答案 0 :(得分:2)

我无法给你一个明确的答案,因为你没有包含来自服务器的JSON响应。

此消息通常意味着DataTables正在查看数据位置4(这是第五个元素 - 密码字段)的数据源,而不是查找它。

您应确保返回包含数据表定义中指定的所有字段的响应,包括密码字段。

答案 1 :(得分:0)

您的JSON数组的第六个元素不包含键'4'的值,因为您正在获取空值,尝试将您的JSON数组解析为http://jsoneditoronline.org/并且您将看到它。 / p>