- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
加载数据表时出现以下消息错误
DataTables 警告(表 id='displayData'):DataTables 警告:无法解析来自的 JSON 数据。
我的灵感来自于http://datatables.net/examples/server_side/server_side.html
我的html代码:
<!DOCTYPE html>
<html>
<head>
<title>Hello jQuery world!</title>
<link rel="stylesheet" type="text/css" href="../jquery/css/192/ui-lightness/jquery-ui-1.9.2.custom.css">
<style type="text/css">
@import "../jquery/datatables/194/media/css/demo_page.css";
@import "../jquery/datatables/194/media/css/demo_table.css";
</style>
<script type="text/javascript" src="../jquery/js/183/jquery-1.8.3.js"></script>
<!-- <script type="text/javascript" src="../jquery/js/192ui/jquery-ui-1.9.2.custom.js"></script> -->
<script type="text/javascript" charset="utf-8" src="../jquery/datatables/194/media/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="../js/26script.js"></script>
</head>
<body>
<table cellpadding="0" cellspacing="0" border="0" class="display" id="displayData">
<thead>
<tr>
<th align="left">id</th>
<th align="left">codepays</th>
<th align="left">CodePostal</th>
<th align="left">Ville</th>
<th align="left">nomadmin</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" class="dataTables_empty">Loading data from server</td>
</tr>
</tbody>
</table>
</html>
我的 javascript 26script.js:
$(document).ready(function() {
$('#displayData').dataTable({
"sAjaxSource" : "../data/json/261arrays.php",
});
});
我还尝试过以下选项
$(document).ready(function() {
$('#displayData').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource" : "../data/json/261arrays.php",
});
});
我的 PHP 脚本。 (我正在使用 PDO 访问我的 mysql 数据库。)
<?php
$aColumns = array('id', 'codepays', 'CodePostal', 'Ville', 'nomadmin');
$dsn = 'mysql:host=localhost;dbname=';
$db = 'fde_travel';
$username = 'root';
$password = 'root';
//Initialisation de la liste
$list = array();
$listt = array();
$sTable = "tvl_cp";
$sIndexColumn = "id";
//Connexion MySQL
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
try {
$db = new PDO($dsn . $db, $username, $password, $options);
} catch (Exception $ex) {
echo $ex -> getMessage();
}
//Construction de la requete
$sQuery = "SELECT id id ,codepays , CP CodePostal, VILLE Ville, nomadmin1 nomadmin FROM tvl_cp limit 100";
$query = $db -> prepare($sQuery);
$query -> execute();
$ar = array();
$num = 0;
while ($listt = $query -> fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
$ar[$num] = $listt;
$num = $num + 1;
}
$oututt['aaData'] = $ar;
//header('Content-type: application/json');
echo json_encode($oututt);
?>
当我记录结果数组时,我得到一个具有以下结构的数组:
{
"aaData": [
[
"1",
"BE",
"1000",
"Bruxelles",
"Bruxelles-Capitale"
],
[
"2",
"BE",
"1005",
"Conseil Region Bruxelles-Capitale",
"Bruxelles-Capitale"
],
[
"3",
"BE",
"1006",
"Raad Vlaamse Gemeenschapscommissie",
"Bruxelles-Capitale"
],
[
"4",
"BE",
"1007",
"Ass. Commiss. Communau. française",
"Bruxelles-Capitale"
],
[
"100",
"BE",
"1700",
"Dilbeek Sint-Ulriks-Kapelle",
"Vlaanderen"
]
]
}
我在 http://jsonlint.com/中检查了这个数组,它是格式良好的 json 数组
当我复制此数组并粘贴到扩展名为 file.json 的文件时,如果我修改脚本,我的数据表将被加载,我可以在屏幕上看到结果。
我还尝试过 http://debug.datatables.net/bug 来查看数组中的最终问题,但我不明白它是如何工作的。
我需要修改什么才能在屏幕上显示,我的 json 数组是通过 php 脚本实现的?
提前致谢
最佳答案
是的,似乎 php 返回的预期结果无法处理数据表库。
json 文件中的数组模式不能与 php 脚本生成的 json 数组模式相同。因此,如果我们按照引用示例中发生的情况进行操作 http://www.datatables.net/examples/data_sources/server_side.html
$output = array(
"sEcho" => 1,
"iTotalRecords" => 100,
"iTotalDisplayRecords" => 100,
"aaData" => array()
);
while ($aRow = $query -> fetch(PDO::FETCH_ASSOC)) {
$row = array();
for ( $i=0 ; $i<count($aColumns) ; $i++ ) {
if ( $aColumns[$i] != ' ' ) {
/* General output */
$row[] = $aRow[ $aColumns[$i] ];
}
}
$output['aaData'][] = $row;
}
echo json_encode($output);
我们得到由 php 脚本生成的 json 数组的以下结构
{
"sEcho": 1,
"iTotalRecords": 100,
"iTotalDisplayRecords": 100,
"aaData": [
[
"1",
"BE",
"1000",
"Bruxelles",
"Bruxelles-Capitale"
],
[
"2",
"BE",
"1005",
"Conseil Region Bruxelles-Capitale",
"Bruxelles-Capitale"
],
[
"3",
"BE",
"1006",
"Raad Vlaamse Gemeenschapscommissie",
"Bruxelles-Capitale"
],
[
"4",
"BE",
"1007",
"Ass. Commiss. Communau. française",
"Bruxelles-Capitale"
],
[
"100",
"BE",
"1700",
"Dilbeek Sint-Ulriks-Kapelle",
"Vlaanderen"
]
]
}
在datatables.net网站中,数据是通过“mysql_query”获取的(我不喜欢,因为php不赞成使用mysql接口(interface))。 php 建议 mysqli 接口(interface)。但对于其他数据库可能我们需要使用PDO接口(interface)。要使用 PDO 接口(interface)获得相同模式的相同结果,需要编写: fetch(PDO::FETCH_ASSOC)
关于php - jquery datatables mysql php DataTables警告(表ID ='displayData'): DataTables warning: JSON data from could not be parsed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170864/
warnings.warn() 和有什么区别?和 logging.warn()就它们的作用和应该如何使用而言? 最佳答案 我同意另一个答案——logging 用于记录,warning 用于警告——但我
这是我写的代码: #usr/bin/python3 import warnings def tt(): warnings.warn("123") return 10 x = tt()
我正在尝试使用基于文档中显示的示例的代码片段来提出DeprecationWarning。 http://docs.python.org/2/library/warnings.html#warnings
我正在尝试提出一个 DeprecationWarning,其中包含基于文档中显示的示例的代码片段。 http://docs.python.org/2/library/warnings.html#war
我有兴趣尝试在调用时操纵警告,而无需围绕方法创建支持基础设施。也就是说,我需要能够捕获警告,而无需使用以下代码包装代码: tryCatch(..., warning = function() { ac
我是 js 我正在尝试使用 this.setState({但我收到警告。 你们能告诉我为什么我收到以下警告吗 warning.js:45 警告:setState(...):只能更新已安装或正在安装的组
我的最小例子是 #!/usr/bin/python3 import warnings warnings.warn('Run Forest run!', stacklevel=2) warnings.w
本文整理了Java中com.ibm.wala.util.warnings.Warnings.asString()方法的一些代码示例,展示了Warnings.asString()的具体用法。这些代码示例
本文整理了Java中com.ibm.wala.util.warnings.Warnings.clear()方法的一些代码示例,展示了Warnings.clear()的具体用法。这些代码示例主要来源于G
本文整理了Java中com.ibm.wala.util.warnings.Warnings.add()方法的一些代码示例,展示了Warnings.add()的具体用法。这些代码示例主要来源于Githu
我一定是错误地理解了警告文档。我读它的方式,这段代码: use warnings; use warnings FATAL => 'all'; warnings::warn('numeric', 'bl
我在 Linux 上使用 OpenMP 指令编译 C 代码时收到此警告: warning: ignoring #pragma omp parallel Gcc 版本是 4.4。 这只是一个我不应该关心
我有一个奇怪的 g++ 行为,当显示任何其他警告时,它会显示有关无法识别的命令行选项的警告。 例子: struct Foo{virtual int bar() = 0;}; struct Bar:pu
在 Visual Studio 2010 中使用 C++ native 解决方案。 #pragma warning (push) 用于 cpp 文件的开头,在所有包含之后。之后,#pragma war
我习惯于开始我的每一个脚本 use strict; use warnings; 但是这里的一些知名人士推荐 use warnings 'all'; 如果我理解正确,后者甚至比第一个更好。所以我通读了d
我正在编码C#。我使用NCrunch在后台运行单元测试。我已经在CSPROJ文件中设置了(新的CSPROJ格式)。 我想将FxCop分析仪用作NuGet软件包:https://docs.microso
谁能帮我解决这个问题,我收到此警告消息 log4j:WARN No appenders could be found for logger (com.akak.book.shop.listener.L
我正在尝试了解更多关于 linux 内核中的 kobject 的信息,并且在尝试编写一个使用此类工具的模块时,我收到了错误和警告消息,因此我将相关数据的精简版本放在这里结构和相应的gcc的错误和警告信
http://docs.python.org/2/howto/logging.html 上的样本同时使用 warn 和 warning。 最佳答案 logging.warn 自 Python 3.3
警告[nuxt]两个解析为相同名称ProseCode的组件文件:。警告[nuxt]两个解析为相同名称ProsePre的组件文件:。更新nuxt 3后的警告->3.7&nuxt/内容2.4->2.8。如
我是一名优秀的程序员,十分优秀!