Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何运行从客户端收到的JavaScript(html、js)?_Javascript_Promise_Axios_Es6 Promise - Fatal编程技术网

如何运行从客户端收到的JavaScript(html、js)?

如何运行从客户端收到的JavaScript(html、js)?,javascript,promise,axios,es6-promise,Javascript,Promise,Axios,Es6 Promise,我使用一个基于JS的库(axios)从后端获取一个响应,该响应返回一个完整的JS文件。收到此文件后,我如何在当前页面中实际使用它 这是代码: axios.get('/foobar') .then(jsFile => { //use jsFile on current webpage }) 我已经用eval()阅读了一些答案,但我宁愿避免使用这种方法。有人知道如何继续吗?制作一个script标记,内容为jsFile function

我使用一个基于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)     
  })

制作一个
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)     
  })

jsFile
是一个脚本文本吗?
jsFile
的内容是什么?@gurvinder372是的,当我在控制台中记录它时,我看到在控制台中打印了js文件中的所有文本。为什么您首先使用axios而不是
?eval有什么问题?通过其他方式注入脚本没有问题机制?
jsFile
是一个脚本文本吗?
jsFile
的内容是什么?@gurvinder372是的,当我控制台时是这样。记录它我看到控制台中打印了js文件中的所有文本。为什么您首先使用axios而不是
?注入脚本时,
eval
有什么问题尽管有其他机制?很酷,但这与
eval
有什么不同呢?@Redu with eval您无法正确使用调试器。每次调用eval()都会生成一个新的JS解释器实例。很酷,但这与
eval
有何不同?@Redu with eval您无法正确使用调试器。每次调用eval()都会生成一个新的JS解释器实例。