2 yu766588220 yu766588220 于 2015.07.09 22:39 提问

请大神帮忙看下datatables的一个错误

这是代码:
图片说明
这是错误信息:
图片说明
补充:数据是json类型的,用Struts2的json插件返回

5个回答

showbo
showbo   Ds   Rxr 2015.07.10 09:00
已采纳

你返回的数据有问题,默认datatable只接受data或者aaData(1.9-版本)为节点的json数据,如果的数据不存在data或者aaData,就会报你这个错误,你需要配置dataSrc指定数据节点

如你返回这种数据

 {
    "tableData": [
        [
            "Tiger Nixon",
            "System Architect",
            "Edinburgh",
            "5421",
            "2011\/04\/25",
            "$320,800"
        ]
                ]
    }

要这样配置

        $(document).ready(function () {
            $('#example').dataTable({
                "ajax": { url: "data/arrays.txt", dataSrc: 'tableData' }
            });
        });

自己仔细看API:http://datatables.net/reference/option/ajax.dataSrc

showbo
showbo 回复ice-prince: 不是说了,其他要配置ajax:{url:'xxxxx',dataSrc:'senorSData'},注意dataSrc的位置
2 年多之前 回复
yu766588220
yu766588220 回复showbo: 你好,我发现了问题了,这是我后台返回的数据:private List<String[]> sensorSData=new ArrayList<>();将sensorsdata改为data,就没问题了。但是我想问一个,就是后台只能是data吗?改为其他不行吗?
2 年多之前 回复
showbo
showbo 回复ice-prince: 报这个错就是你的数据节点有问题,贴你的数据出来。注意不要照抄我的代码,url和dataSrc要按照你的网站来写
2 年多之前 回复
yu766588220
yu766588220 您好,我已经按您说的做了。但是还是报同样的错误
2 年多之前 回复
yu766588220
yu766588220 您好,我已经按您说的做了。但是还是报同样的错误
2 年多之前 回复
qq_24354423
qq_24354423   2015.07.09 22:45

data 是什么数据类型?

yu766588220
yu766588220 data是json类型的,服务器端用的是Struts2的json插件返回数据
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.09 22:53

data.length()
data.size()
试试看这两个。

yu766588220
yu766588220 回复caozhy: 试了,不行。而且貌似JavaScript没有length()跟size()吧。。。
2 年多之前 回复
caozhy
caozhy 回复ice-prince: 对,修改你的data.length为上面两个
2 年多之前 回复
yu766588220
yu766588220 请问怎么试。。。改源码?
2 年多之前 回复
wang7879
wang7879   2015.07.09 23:10

ien 是那来的

yu766588220
yu766588220 那是源码啊。。。谷歌浏览器的调试器,报了个错误,点击那个错误就跳到此处了
2 年多之前 回复
jasonzhang1224
jasonzhang1224   2015.07.10 08:29

在循环前添加console.log(data)看看你传入的data是不是数组,如果不是的话肯定会包错的。很有可能是ajax没有正常返回正确格式的数据

Csdn user default icon
上传中...
上传图片
插入图片