[英]ajax success function not working on datatable
我正在使用datatable來顯示數據庫mysql中的列表
我需要在表加載結束時更新一些輸入,然后我使用成功函數,但這似乎阻止了數據呈現
var table = $('#example').DataTable({
'processing': true,
'serverSide': true,
'ajax': {
type: 'POST',
'url': url,
'data': function (d) {
console.log(d.order);
return JSON.stringify( d );
},
// EDIT this "my" success function
success: function( data ) {
$('#my_input').val(data.return);
}
}
Json回來的是:
{
"data":[[ (datatable value) ]],
"returned":"myvalue"
}
這里是jsfiddle
您只需要刪除成功回調。
var table = $('#example').DataTable({
'processing': true,
'serverSide': true,
'ajax': {
type: 'POST',
'url': url,
'data': function (d) {
console.log(d.order);
return JSON.stringify( d );
}
}
編輯
你需要使用它將在ajax完成后調用的ajax.dataSrc屬性。 它也適用於刷新以及https://datatables.net/reference/option/ajax.dataSrc
var table = $('#example').DataTable({
'ajax': {
type: 'POST',
'url': url,
'data': function (d) {
console.log(d.order);
return JSON.stringify( d );
},
"dataSrc": function (json) {
$("#mydata").val(json.recordsTotal);
return json.data;
}
},
});
這里是更新的小提琴。 http://jsfiddle.net/2jkg3kqo/2/
Datatable有自己的complete
事件,稱為initComplete
。
如果重新定義success
,則會覆蓋Datatable自己的功能。
var table = $('#example').DataTable({
'processing': true,
'serverSide': true,
'ajax': {
....
....
},
'initComplete':function(settings, json){
alert($('#example tbody tr').length+ ' records on screen');
});
參考: https : //datatables.net/reference/option/initComplete
更新信息: http : //jsfiddle.net/ntcwust8/94/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.