选择ajax url数据表



我想选择datatable ajax url,无论是containingdata1, containingdata2还是containingdata3。

下面是我的代码:
$(document).ready(function() {
var $table = $('#datatable1');
$table.DataTable({
"columnDefs": [
{"className": "dt-center", "targets": "_all"}
],  
if(containdata1){
ajax: {
url: "/api/dunapi/"+containdata1,
type: 'GET'
},
if(containdata2){
ajax: {  
url  : "/api/dunapi/"+containdata2,
type : 'GET'                      
},

}
if(containdata3){
ajax: {  
url  : "/api/dunapi/"+containdata3,
type : 'GET'                      
},

}

如果可能的话,我想那样做。

如果您想要合并来自多个数据源的数据,那么最好在DataTable之外收集数据。使用jQuery的ajax()函数(或任何JavaScript客户端,如axios)获取所有数据,将其合并为单个对象,并传递给DataTables的data选项。

:

var data = []
if(containdata1){
await axios.get("/api/dunapi/"+containdata1).then(res => {
data = data.concat(res.data)
})
}
if(containdata2){
await axios.get("/api/dunapi/"+containdata2).then(res => {
data = data.concat(res.data)
})
}
if(containdata3){
await axios.get("/api/dunapi/"+containdata3).then(res => {
data = data.concat(res.data)
})
}

然后当定义你的数据表:

{
// datatable options
data: data
.....
}

注意:你应该在ready函数之前添加async,因为我们在每个请求之前使用await:

$(document).ready(async function() {
......
}

最新更新