[英]How to parse JSON received from Datatables ajax call?
我可以使用ajax調用成功填充我的數據表,但后來我不知道如何解析數據表通過此ajax調用接收的JSON。
這是我的JavaScript代碼,它對服務器進行ajax調用並正確填充我的數據表:
$('#transactions').DataTable({
"processing": true,
"ajax": {
"url": "/transactions
},
"columns": [
{ "data": "car"},
{ "data": "card_number"},
{ "data": "invoice"},
{ "data": "status"}
]
});
這是從服務器返回的JSON對象:
{
"data": [
{
"car": 190,
"card_number": "6395637",
"invoice": 200,
"status": "success"
},
{
"car": 191,
"card_number": "9473650",
"invoice": 180,
"status": "success"
}
],
"balance": 7300
}
正如您所看到的, data
函數使用返回的JSON對象的data
參數來填充數據表,現在我想解析balance
參數,但我不能。 我怎樣才能實現這一目標?
像這樣的東西:
$('#transactions').dataTable({
"ajax" : {
"url" : "/transactions",
"dataSrc" : function (json) {
// manipulate your data (json)
...
// return the data that DataTables is to use to draw the table
return json.data;
}
}
});
不要使用DataTable的url功能,自己進行Ajax調用
$.getJSON('/transactions', function(response) {
$('#transactions').dataTable({
processing: true,
data: response.data,
columns: [
{ data: "car"},
{ data: "card_number"},
{ data: "invoice"},
{ data: "status"}
]
});
window.someGlobalOrWhatever = response.balance
});
從DataTables 1.10開始,你可以使用ajax.json()
函數: https : ajax.json()
()我在下面的示例代碼中實現了它。
$( document ).ready(function() {
$('#search-form').submit(function(e) {
e.preventDefault();
var table = $('#location-table').DataTable({
destroy: true,
ajax: "/locations.json",
columns: [
{ "data": "code" },
{ "data": "status" },
{ "data": "name" },
{ "data": "region" },
{ "data": "address" },
{ "data": "city" },
{ "data": "state" },
{ "data": "zip" },
{ "data": "phone_number" },
]
})
table.on( 'xhr', function () {
var json = table.ajax.json();
$('#totals').text(json.totals)
});
})
});
注意為此,你必須用$('#location-table').DataTable()
來初始化$('#location-table').DataTable()
而不是$('#location-table').dataTable
(差值是大寫的D)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.