我正在使用基于JS承诺的库(axios)从后端获取响应,该响应返回了完整的JS文件。收到此文件后,如何在当前页面中实际使用它?

这是代码:

axios.get('/foobar')
     .then(jsFile => {
          //use jsFile on current webpage
      })


我已经阅读了使用eval()的一些答案,但是我还是希望避免使用这种方法。有人知道如何进行吗?

最佳答案

制作一个script标记,其内容为jsFile

function addScriptToSession( jsFile )
{
    var s = document.createElement('script');
    s.type = 'text/javascript';
    try {
      s.appendChild(document.createTextNode(jsFile));
      document.body.appendChild(s);
    } catch (e) {
      s.text = jsFile;
      document.body.appendChild(s);
    }
}


用作

  axios.get('/foobar')
 .then(jsFile => {
      addScriptToSession(jsFile)
  })

10-05 20:41