我基本上想要实现链接https://datatables.net/release-datatables/examples/data_sources/ajax.html中给出的DataTables AJAX源代码示例。每次运行它时,我都会收到错误 http://datatables.net/tn/1。所以我搜索了这个错误,并且知道它有无效的JSON响应。所以我在JsonLint中复制粘贴了我的文本(arr.txt)代码,它给出了错误意外的令牌。我真的很好奇这个错误。请帮我修理一下。提前谢谢!
这是我的arr.txt。 (在Json中)(我复制粘贴在记事本中并将其保存为.txt)
{
"aaData": [
[
"Trident",
"Internet Explorer 4.0",
"Win 95+",
"4",
"X"
],
[
"Trident",
"Internet Explorer 5.0",
"Win 95+",
"5",
"C"
],
[
"Trident",
"Internet Explorer 5.5",
"Win 95+",
"5.5",
"A"
],
[
"Trident",
"Internet Explorer 6",
"Win 98+",
"6",
"A"
],
[
"Trident",
"Internet Explorer 7",
"Win XP SP2+",
"7",
"A"
],
[
"Trident",
"AOL browser (AOL desktop)",
"Win XP",
"6",
"A"
],
[
"Gecko",
"Firefox 1.0",
"Win 98+ / OSX.2+",
"1.7",
"A"
],
[
"Gecko",
"Firefox 1.5",
"Win 98+ / OSX.2+",
"1.8",
"A"
],
[
"Gecko",
"Firefox 2.0",
"Win 98+ / OSX.2+",
"1.8",
"A"
],
[
"Gecko",
"Firefox 3.0",
"Win 2k+ / OSX.3+",
"1.9",
"A"
],
[
"Gecko",
"Camino 1.0",
"OSX.2+",
"1.8",
"A"
],
[
"Gecko",
"Camino 1.5",
"OSX.3+",
"1.8",
"A"
],
[
"Gecko",
"Netscape 7.2",
"Win 95+ / Mac OS 8.6-9.2",
"1.7",
"A"
],
[
"Gecko",
"Netscape Browser 8",
"Win 98SE+",
"1.7",
"A"
],
[
"Gecko",
"Netscape Navigator 9",
"Win 98+ / OSX.2+",
"1.8",
"A"
],
[
"Gecko",
"Mozilla 1.0",
"Win 95+ / OSX.1+",
1,
"A"
],
[
"Gecko",
"Mozilla 1.1",
"Win 95+ / OSX.1+",
1.1,
"A"
],
[
"Gecko",
"Mozilla 1.2",
"Win 95+ / OSX.1+",
1.2,
"A"
],
[
"Gecko",
"Mozilla 1.3",
"Win 95+ / OSX.1+",
1.3,
"A"
],
[
"Gecko",
"Mozilla 1.4",
"Win 95+ / OSX.1+",
1.4,
"A"
],
[
"Gecko",
"Mozilla 1.5",
"Win 95+ / OSX.1+",
1.5,
"A"
],
[
"Gecko",
"Mozilla 1.6",
"Win 95+ / OSX.1+",
1.6,
"A"
],
[
"Gecko",
"Mozilla 1.7",
"Win 98+ / OSX.1+",
1.7,
"A"
],
[
"Gecko",
"Mozilla 1.8",
"Win 98+ / OSX.1+",
1.8,
"A"
],
[
"Gecko",
"Seamonkey 1.1",
"Win 98+ / OSX.2+",
"1.8",
"A"
],
[
"Gecko",
"Epiphany 2.20",
"Gnome",
"1.8",
"A"
],
[
"Webkit",
"Safari 1.2",
"OSX.3",
"125.5",
"A"
],
[
"Webkit",
"Safari 1.3",
"OSX.3",
"312.8",
"A"
],
[
"Webkit",
"Safari 2.0",
"OSX.4+",
"419.3",
"A"
],
[
"Webkit",
"Safari 3.0",
"OSX.4+",
"522.1",
"A"
],
[
"Webkit",
"OmniWeb 5.5",
"OSX.4+",
"420",
"A"
],
[
"Webkit",
"iPod Touch / iPhone",
"iPod",
"420.1",
"A"
],
[
"Webkit",
"S60",
"S60",
"413",
"A"
],
[
"Presto",
"Opera 7.0",
"Win 95+ / OSX.1+",
"-",
"A"
],
[
"Presto",
"Opera 7.5",
"Win 95+ / OSX.2+",
"-",
"A"
],
[
"Presto",
"Opera 8.0",
"Win 95+ / OSX.2+",
"-",
"A"
],
[
"Presto",
"Opera 8.5",
"Win 95+ / OSX.2+",
"-",
"A"
],
[
"Presto",
"Opera 9.0",
"Win 95+ / OSX.3+",
"-",
"A"
],
[
"Presto",
"Opera 9.2",
"Win 88+ / OSX.3+",
"-",
"A"
],
[
"Presto",
"Opera 9.5",
"Win 88+ / OSX.3+",
"-",
"A"
],
[
"Presto",
"Opera for Wii",
"Wii",
"-",
"A"
],
[
"Presto",
"Nokia N800",
"N800",
"-",
"A"
],
[
"Presto",
"Nintendo DS browser",
"Nintendo DS",
"8.5",
"C/A<sup>1</sup>"
],
[
"KHTML",
"Konqureror 3.1",
"KDE 3.1",
"3.1",
"C"
],
[
"KHTML",
"Konqureror 3.3",
"KDE 3.3",
"3.3",
"A"
],
[
"KHTML",
"Konqureror 3.5",
"KDE 3.5",
"3.5",
"A"
],
[
"Tasman",
"Internet Explorer 4.5",
"Mac OS 8-9",
"-",
"X"
],
[
"Tasman",
"Internet Explorer 5.1",
"Mac OS 7.6-9",
"1",
"C"
],
[
"Tasman",
"Internet Explorer 5.2",
"Mac OS 8-X",
"1",
"C"
],
[
"Misc",
"NetFront 3.1",
"Embedded devices",
"-",
"C"
],
[
"Misc",
"NetFront 3.4",
"Embedded devices",
"-",
"A"
],
[
"Misc",
"Dillo 0.8",
"Embedded devices",
"-",
"X"
],
[
"Misc",
"Links",
"Text only",
"-",
"X"
],
[
"Misc",
"Lynx",
"Text only",
"-",
"X"
],
[
"Misc",
"IE Mobile",
"Windows Mobile 6",
"-",
"C"
],
[
"Misc",
"PSP browser",
"PSP",
"-",
"C"
],
[
"Other browsers",
"All others",
"-",
"-",
"U"
]
]
}
<html>
<head>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.0-beta.2/css/jquery.dataTables.css">
<!-- <link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/plug-ins/505bef35b56/integration/jqueryui/dataTables.jqueryui.css"> -->
<link rel="stylesheet" type="text/css" href="NewFile.css">
</head>
<body>
<form><input type="text" id="myInputTextField"></form>
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>SECTION</th>
<th>REPORT NAME</th>
<th>CONTACT PERSON</th>
<th>LINK TO DOWNLOAD</th>
<th>METRICS USED</th>
<!-- <th>Salary</th> -->
</tr>
</thead>
</table>
<script type="text/javascript" charset="utf8" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.0-beta.2/js/jquery.dataTables.js"></script>
<script>
$(document).ready(function() {
$('#example').dataTable( {
"bProcessing": true,
"sAjaxSource": "arr.txt"
} );
} );
</script>
</body>
</html>
答案 0 :(得分:1)
将以下选项添加到数据表,这将允许您检查从服务器重新调整的内容,并在Datatables尝试使用它之前进行进一步处理:
"fnServerData": function (sSource, aoData, fnCallback) {
$.getJSON(sSource, aoData, function (json) {
alert(json); /*break here to examine json returned from server*/
/*Do any further processing required*/
fnCallback(json); /*continue with the call back*/
});
},