有一個ajax調用系統,它返回JSOn作爲響應並顯示在HTML表格中。如何解析JSON數據並在JQuery中使用Ajax顯示它?
在HTML中,我們下面的代碼,數據是要顯示:
<table id="documentDisplay">
<thead>
<tr>
<th align="left">Document Type</th>
<th align="left">File Name</th>
<th align="left">Document Date</th>
</tr>
</thead>
</table>
下面是Ajax調用和相應的方法調用:
documentCommon.ajax({
blockUI: false,
type: 'POST',
//dataType: 'html',
url : 'loaddocument.json',
data: {
'_CONV_ID': $('input[name="_CONV_ID"]').val(),
},
success: function (data) {
alert(data);
console.log(data);
document.documentDisplay.clear().rows.add(data.lines).draw();
//Here we get an error
},
});
document.documentDisplay= $('#documentDisplay').DataTable($.extend({}, documentCommon.tableTemplate, {
asStripClasses: [], // No stripes
width: "100%",
scrollY: "150px",
columnDefs: [
{"width": "20%", targets: 0},
{"width": "40%", targets: 1},
{"width": "40%", targets: 2},
],
columns: [
{"data": "documentType"},
{"data": "fileName"},
{"data": "documentDate"}
]
}));
Ajax是能夠發送請求並帶回數據。以下是螢火蟲輸出:
[
{
"documentDate":[
2015,
8,
18,
13,
1,
51
],
"documentType":"X",
"documentId":18038,
"fileExtension":"pdf",
"filename":"kuka.pdf",
"link":"http://something.com/kuka.pdf",
},
So on and end with ]
是顯示在Firebug的錯誤如下:
TypeError: a is undefined
這是一個錯誤的代碼?有沒有其他的方式來實現相同的?此外,我想檢查數據表中的documentType,即如果documetType是X然後顯示其他不顯示。有沒有辦法做同樣的事情?
在您的樣本輸出的成功回調沒有'lines'屬性,你打電話在你的代碼中。除此之外,請確保數據表和jquery都是最新的。在過去的版本中,我遇到了一些不匹配的問題。 – Sirko
@Sirko 謝謝。你是沒有線路屬性。所以我認爲我應該只傳遞數據,但數據表將直接選擇{「data」:「documentType」},因爲它是?你有什麼更改建議? 沒有版本問題,因爲許多其他地方datatables使用和工作正常,我是新來的,所以它第一次結合使用它。 – fatherazrael
下一個問題是你的名字:在表格定義和對象你使用不同的大寫/小寫。然而,我不確定datatable在'documentDate'下如何處理數組。 – Sirko