首页 > 解决方案 > 如何从 Axios 获取来自多个 API 的响应并使用 Promise.all 在 DataTable 中设置数据

问题描述

我创建了带有开关盒的代码,通过按选项卡来调用API 。然后我有一个使用Axios的带有参数的帖子 URL 。我也使用promise。检查以下代码。

$('#myTab button').on('shown.bs.tab', function (e) {
var tab = $(this).attr("id");
  // console.log(tab);
            
        switchtabs(tab);
        return true;
      }else{
        alert("Please select Domain Name");
        return false
      }
});
function switchtabs(tab){
          var url = '';let prm;
    switch (tab) {
        case 'second-tab':
            url = link1;
            prm = {type:'sample1', fromdate:fromdate, todate:todate, descn:info}
            console.log(url, prm);
            break;
        case 'third-tab':
            url = link2;
            prm = {type:'sample1', fromdate:fromdate, todate:todate, descn:info}
            console.log(url, prm);
            break;
        case 'fourth-tab':
            url = link3;
            prm = {type:'sample1', fromdate:fromdate, todate:todate, descn:info}
            console.log(url, prm);
            break;
        default: 
            url = link;
            prm = {type:'domainwise', fromdate:fromdate, todate:todate, descn:shop}
            console.log(url, prm);
    }
    if(typeof url !== "undefined"){
      // let prm = {type:'domainwise', fromdate:fromdate, todate:todate, descn:'1'}

 var main = axios.post(url, prm).then(function(response){
console.log(response.data)
})

Promise.all([main]).then(function(values){
 return values
 }).catch(function(err){
  console.log(err);
 })


    }
 }

选择选项卡时已发生响应数据。但是如何在与选项卡窗格相关的数据表中添加数据。有多个具有不同ID和不同标题的数据表。我试图通过函数 DataTable() 添加。提前致谢。

标签: javascriptapiaxiosrest

解决方案


我在 prm 下创建了一个标签。像标签=“演示”。然后当 URL 和 param 传入 Axios 时。之后我添加了 if 条件标签 == "demo"。我的代码正在运行。


推荐阅读