我有多个要异步加载的SVG文件。我写了以下我可以调用的函数:
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的专家,所以不确定这是什么。
答案 0 :(得分:2)
function getSVG(fileName){ // <- create a function in the global namespace called getSVG
var getSVG = new XMLHttpRequest(); // <- overwrite that function with a new XMLHttpRequest object
...
}