我正在尝试将JSON加载到jQuery数据表中。
当使用以下方法触发change
事件时,我可以向控制台返回我需要在数据表中加载的完全相同的数据:
$('#serviceload').change(function()
{
var page = $('#serviceload').val();
$.ajax({
"type": 'POST',
"url": 'api/service_teus.php',
"data": {page:page},
//"dataType": 'json',
"success": function(data){
console.log('success', data);
},
"error": function(msg){
console.log('fail', msg);
}
});
});
现在当我更改上面的代码以包含数据表时,这就是我被困的地方:
$('#serviceload').change(function()
{
var page = $('#serviceload').val();
var $dataTable = $('#example1').DataTable({
"ajax":{
"url": 'api/service_teus.php',
"data": {page:page},
"dataType": 'json',
"success": function(data){
console.log('success', data);
},
"error": function(msg){
console.log('fail', msg);
}
}
});
使用上述方法,控制台返回一个对象数组,但不加载数据表。
回答这个问题实际上会帮助我回答我发布的另一个问题。
答案 0 :(得分:3)
您的dataTable可能是使用ajax承诺生成的,而不是返回的数据。在成功函数中生成数据表,而不是使用整个ajax语句。
像这样。
$('#serviceload').change(function()
{
var page = $('#serviceload').val();
$.ajax({
"type": 'POST',
"url": 'api/service_teus.php',
"data": {page:page},
"dataType": 'json',
"success": function(data){
console.log('success', data);
$dataTable = $('#example1').DataTable(data);
},
"error": function(msg){
console.log('fail', msg);
}
});
});
答案 1 :(得分:0)
我在本页中使用了我的答案:Load JQUERY DATATABLE on CHANGE event
我终于可以继续前进了。