javascript - 针对第 0 行问题从数据源请求未知参数 '0'

标签 javascript jquery json

对于以下代码,我每次都会收到以上警告。

javascript

$(document).ready(function () {               
        var $lmTable = $("#information").dataTable({
            "sPaginationType": "full_numbers",
            "sScrollX": "1000px",
            "sScrollY": calcDataTableHeight(),
            "sSearch": "Search all:",
            "aaData": [],
            "aoColumns": [
                { "mDataProp": "senderCompID", sDefaultContent: "n/a"},
                { "mDataProp": "targetCompID", sDefaultContent: "n/a"},
                { "mDataProp": "tradSesReqID", sDefaultContent: "n/a"},
                { "mDataProp": "sendingTime", sDefaultContent: "n/a"},
                { "mDataProp": "tradingSessionID", sDefaultContent: "n/a"},
                { "mDataProp": "messageType", sDefaultContent: "n/a"}
            ]
        });

html

   <table id="information" class="display">
            <thead>
            <tr>
                <th>SENDER COMP ID</th>
                <th>TARGET COMP ID</th>
                <th>TRADE SESSION REQ ID</th>
                <th>SENDING TIME</th>
                <th>TRADING SESSION ID</th>
                <th>MESSAGE TYPE</th>
            </tr>
            </thead>
            <tbody id="infoBody">
            </tbody>
   </table>

JSON 响应

[
 {
    "senderCompID":"1159",
    "targetCompID":"CASE",
    "tradSesReqID":"1308042969531",
    "sendingTime":"Jun 14, 2011 9:00:56 AM",
    "tradingSessionID":"SME",
    "messageType":"g"
  }
]

加载页面时出现以下错误,并且表格行未加载。

DataTables warning (table id = 'information'): Requested unknown
parameter '0' from the data source for row 0

这里有什么问题以及解决方案是什么?

最佳答案

诊断:

看看您对数据表的初始化。您在初始化时将 aaData (即数据源)设置为空数组。换句话说,一旦 datatables 创建了表格,它就会尝试从空数组中读取第一列并返回该警告

解决方案:

在初始化表之前获取 JSON 响应。

...    

//Get your json from the server

var aaData = [
{
    "senderCompID":"1159",
    "targetCompID":"CASE",
    "tradSesReqID":"1308042969531",
    "sendingTime":"Jun 14, 2011 9:00:56 AM",
    "tradingSessionID":"SME",
    "messageType":"g"
  }
]

//Then initialise the table

或者...假设您正在使用 Ajax

var aaData = null;

$.ajax("*put your url here*")
.done(function(response){
    aaData = response;

    // Then initialise table 
});

下面是使用Ajax获取数据的完整代码;

$(document).ready(function () {    

    $.ajax("*put your url here*")
    .done(function(response){

        //Set the variable aaData to the response
        var aaData = response;

        // Then initialise table using aaData as the datasource

        var $lmTable = $("#information").dataTable({
            "sPaginationType": "full_numbers",
            "sScrollX": "1000px",
            "sScrollY": calcDataTableHeight(),
            "sSearch": "Search all:",
            "aaData": aaData,    // <-- Here
            "aoColumns": [
                { "mDataProp": "senderCompID", sDefaultContent: "n/a"},
                { "mDataProp": "targetCompID", sDefaultContent: "n/a"},
                { "mDataProp": "tradSesReqID", sDefaultContent: "n/a"},
                { "mDataProp": "sendingTime", sDefaultContent: "n/a"},
                { "mDataProp": "tradingSessionID", sDefaultContent: "n/a"},
                { "mDataProp": "messageType", sDefaultContent: "n/a"}
            ]
        });
    }); 

关于javascript - 针对第 0 行问题从数据源请求未知参数 '0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23385302/

相关文章:

javascript - 如何在 JavaScript 中调用 "disableRightClick"函数

jquery - <li> 的条件 float

java - 如何使用Gson提取字段

mysql - Json与Java和mysql数据库

json - Bookshelf.js 哪里有 json 列 Postgresql

javascript - 字符串中的有效nodejs代码到javascript对象

javascript - 这种多重悬停效果是否可以仅使用 CSS?

javascript - 每个图像 slider 的多组 jQuery

javascript - 歌剧中的 getElementsByName 等

javascript - 是否可以模拟 isTrusted=true