我正在使用基于JS承诺的库(axios)从后端获取响应,该响应返回一个完整的JS文件。收到此文件后,如何在当前页面中实际使用它?
这个代码:
axios.get('/foobar')
.then(jsFile => {
//use jsFile on current webpage
})
我已经使用eval()
阅读了一些答案,但我更愿意避免使用此方法。任何人都知道如何继续?
答案 0 :(得分:3)
制作一个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)
})