我正在使用DataTable 1.7.5以及JQuery-1.7.1.min.js并获取JSON解析错误。在浏览几个在线论坛时,建议升级JQuery-1.5.1.min.js的验证器插件,但没有关于JQuery-1.7.1.min.js的验证器。是否有任何机构对此问题有任何建议?
Table HTML:
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example" >
<thead>
<tr>
<th>#</th>
<th></th>
<th>Name</th>
<th>Shpr</th>
<th>Org</th>
<th>Cne</th>
<th>Dest</th>
<th>Dep Dt</th>
<th>LR No</th>
<th>Asset No</th>
<th>Curr Dt</th>
<th>Spd km/h</th>
<th>Waypoint1</th>
<th>Waypoint2</th>
<th>SDA</th>
<th>DETA</th>
<th>AMC</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
使用Javascript:
var oTable = $('#example').dataTable({
"aLengthMenu" : [[-1, 10, 25, 50, 100], ["All", 10, 25, 50, 100]],
"iDisplayLength" : -1,
"bProcessing": true,
"bJQueryUI": true,
"bAutoWidth": false,
//"sScrollY": "300px",
"sPaginationType": "full_numbers",
"sAjaxSource": "ReportAction.do?process=home",
"bDeferRender":true,
"sDom": 'T<"clear"><"H"lfr>t<"F"ip>',
"oTableTools": {
"sSwfPath": "<%=localrequestedURL %>media/swf/copy_csv_xls_pdf.swf"
}
});
JSON数据:
result = session.createSQLQuery(sql_homepage).list();
String final_data = gson.toJson(result);
final_message = "{\"aaData\":"+final_data+"}";
1.变量sql_homepage是指对数据库的select查询。 2.变量final_message被传递给动作类,该动作类将数据传递给JSP。
答案 0 :(得分:0)
我遇到了同样的问题,它来自一个隐藏在数据库中的隐形字符。最好使用json验证器来查看错误的位置。我使用了这个:http://www.freeformatter.com/json-validator.html和这一个http://jsonformatter.curiousconcept.com/
datatables是关于它将解析的JSON的超级finickey。我必须100%完美,我最终需要创建一个PHP函数来制作JSON对象字符串,而不是只使用php函数json_encode