JSON解析:与Datatable一起使用时出现意外的令牌错误

时间:2014-04-23 11:58:14

标签: ajax json datatable jquery-datatables

我基本上想要实现链接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"
        ]
      ]
    }

这是我的index.html: -

<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>

1 个答案:

答案 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*/
            });
        },