使用javascript/ajax函数获取多个SVG文件内容
我有多个要异步加载的SVG文件。我编写了以下可以调用的函数:使用javascript/ajax函数获取多个SVG文件内容,javascript,ajax,svg,Javascript,Ajax,Svg,我有多个要异步加载的SVG文件。我编写了以下可以调用的函数: function getSVG(fileName){ getSVG = new XMLHttpRequest(); getSVG.open('GET','assets/svg/'+fileName+'.svg',false); getSVG.send(); return getSVG.responseXML.documentElement; } 现在我可以像这样加载内容: var baseSVG = getSVG('
function getSVG(fileName){
getSVG = new XMLHttpRequest();
getSVG.open('GET','assets/svg/'+fileName+'.svg',false);
getSVG.send();
return getSVG.responseXML.documentElement;
}
现在我可以像这样加载内容:
var baseSVG = getSVG('base');
document.getElementById('canvas').appendChild(baseSVG);
这很有效,但当我第二次尝试调用它时,它不起作用。例如:
var midSVG = getSVG('mid');
document.getElementById('canvas').appendChild(midSVG);
这次我得到以下错误:
'Uncaught TypeError: Property 'getSVG' of object [object object] is not a function
我不是javascript和ajax方面的专家,所以不确定这是怎么回事。
函数getSVG(fileName){//啊,是的,getSVG变量声明之前的var?现在似乎起作用了。你忘了把它放在你的答案中吗?我故意把它漏掉了,这样评论才有意义,但只要你明白var
是罪魁祸首,我就可以编辑它
function getSVG(fileName){ // <- create a function in the global namespace called getSVG
var getSVG = new XMLHttpRequest(); // <- overwrite that function with a new XMLHttpRequest object
...
}