javascript - 使用 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('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 方面的专家,所以不确定这是什么意思。

最佳答案

function getSVG(fileName){       // <- create a function in the global namespace called getSVG
  var getSVG = new XMLHttpRequest(); // <- overwrite that function with a new XMLHttpRequest object
  ...
}

关于javascript - 使用 javascript/ajax 函数获取多个 SVG 文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619123/

相关文章:

javascript - 当调用 $.getJSON 的 $.getJSON 全部完成时如何收到通知

javascript - 如何使 SVG 元素的鼠标事件通过另一个元素向上冒泡?

javascript - 如何使 Raphael js 打印方法在本地计算机上适用于法语、德语等字符?

javascript - 使用一个函数在 JavaScript 中分配多个全局变量

javascript - 使用 Ember.js 和 EmberFire 生成表单

javascript - 在模板文本中插入 jQuery 元素的有效方法

javascript - Parse.Query find() 方法不返回任何内容

javascript - React + AJAX 组件过度渲染

jquery - AJAX/JQuery 加载整个页面而不是 div

d3.js - d3js 中弯头连接器的 M、V、H 是什么意思?