“数据表警告:无效的JSON响应”和“错误:找不到图容器”

时间:2019-06-16 18:50:47

标签: javascript php html datatables morris.js

我是bearpk.space的开发人员。在我的dashboard.php页面(您无法访问,但来源为here的页面)上,我看到此错误消息,该错误消息在屏幕中间弹出:

  

DataTables警告:表格ID = dataTables-example-无效的JSON响应。有关此错误的更多信息,请参见http://datatables.net/tn/1

开发人员工具显示以下内容:

我不确定从哪里开始解决此问题。我已经在StackExchange上查看了其他“找不到图形元素”问题,以及错误消息中的链接。

dataTables-example怎么了?

1 个答案:

答案 0 :(得分:0)

您遇到两个独立的错误-一个来自DataTables(增强型表jQuery插件),另一个来自morris.js(图形库)。

数据表

由于您正在使DataTable从ajax.php?content=playerList加载必要的数据而发生错误弹出窗口。但是,由于PHP错误消息,您的网络服务器未返回有效的JSON。 DataTables将此作为XHR响应接收:

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home1/bearlolz/public_html/ajax/ajax.php</b> on line <b>14</b><br />
{"data":[]}

由于JSON开始之前存在垃圾,因此DataTables无法解析响应,并失败并显示错误消息。修复导致错误的PHP错误或使用ini_set("display_errors", 0);

禁止显示PHP错误报告

morris.js

发生控制台错误是因为您在dashboard.php中:

<?php $template->scripts(); ?>

将其注入HTML:

<script src="bin/data/morris-data.js"></script>

哪个执行morris-data.js,它尝试在DOM元素上以idmorris-area-chartmorris-donut-chart的{​​{1}}值创建图形。但是HTML中没有这样的元素,因此morris库引发了错误,最终在控制台中出现。