我正在使用基于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)
})