首页 > 解决方案 > 对具有异步数据加载的站点的 Ajax 请求

问题描述

我正在尝试提取 HTML 页面,解析它们并从中提取公司的电子邮件。但是 HTML 页面上的电子邮件是异步加载的,我只获取“...”数据而不是 ajax 请求的电子邮件。我怎么能等到电子邮件完全加载,然后才能完成我对站点的请求?谢谢

     names=['name1', 'name2']; //example of site names
     names.map(name=>{
      let url='https://cors-anywhere.herokuapp.com/https://companies.dev.by/'+name;  //CORS bypass 
      $.ajax({
        url : url,
        type : "GET",
        dataType : "text",
        success : function(company){
          let companyDoc = parser.parseFromString(company, "text/html");  //company is without loaded email, only '...'
          let row = document.createElement('tr');
          let td1 = document.createElement('td');
          td1.innerHTML = companyDoc.getElementsByTagName('h1')[0].innerHTML;
          row.appendChild(td1);
          document.getElementById('body').appendChild(row);
            }
          });
        }
      });
    })

标签: javascriptajax

解决方案


推荐阅读