[英]JSON array Tabulator js table
我的HTML
文件中有一個Tabulator
數據表。 看起來像這樣:
<div class="example-table">/div>
我有一個JavaScript
文件,該文件將通過調用返回JSON
的rest API
來用數據填充表。
這是我的JS
文件的樣子:
$(document).ready(function() {
$(".example-table").tabulator({
columns : [ {
title : "ID",
field : "myjson.firstname",
width : 250
}, {
title : "Pred",
field : "myjson.pred",
sorter : "number",
align : "left",
formatter : "progress",
width : 200
}, ],
});
var tabledata = [];
$.getJSON('http://127.0.0.1:7001/MySerices/service/rest', function(json) {
tabledata.append(json);
});
$(".example-table").tabulator("setData", tabledata);
});
REST服務返回的JSON
如下所示:
{"myjson":
[{"firstname":"Piter","pred":"0,616540492"},
{"firstname":"Piter","pred":"0,616540492"}
]}
制表器表將顯示,但沒有任何數據。 如果檢查我的JS日志,則可以看到請求完成而沒有任何錯誤,並且可以在響應中看到JSON。
您能幫我怎么做?
謝謝!
您的代碼中存在三個主要錯誤。
首先 ,您的JSON響應,該響應應如制表js 文檔所示:
//An array of objects not wrapped in an object
[
{"firstname":"Piter","pred":"0,616540492"},
{"firstname":"Parker","pred":"0,42325456"}
]
其次 ,columns字段應與每一行匹配:
$(".example-table").tabulator({
columns : [ {
title : "ID",
field : "firstname",//changed here
width : 250
}, {
title : "Pred",
field : "pred",//and here
sorter : "number",
align : "left",
formatter : "progress",
width : 200
}, ],
});
第三 , getJSON
是異步的,因此僅在response
到達時才需要獲取和設置數據:
$.getJSON('http://127.0.0.1:7001/MySerices/service/rest', function(response) {
//response is already a parsed JSON
$(".example-table").tabulator("setData", response);
});
PS:數組沒有
append
方法,您可以使用unshift
或push
將數據前置或追加到array 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.