我想选择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() {
......
}