javascript - 当 XML 文件没有 .xml 扩展名时,如何在 IE 中加载它们?

标签 javascript xml xmlhttprequest

我在 javascript 中使用了这段代码,只要我打开的文件具有 .xml 扩展名,它就可以很好地工作。

function loadXMLDoc(filename)
{
if (window.ActiveXObject){
  xhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }
else {
  xhttp = new XMLHttpRequest();
  }
xhttp.open("GET", filename, false);
try {xhttp.responseType = "msxml-document"} catch(err) {} // Helping IE11
xhttp.send("");
return xhttp.responseXML;
}

我无法控制文件名。如何更改此代码以打开没有 .xml 扩展名的 XML 文件?

旁注:我只需要它在 IE 中工作。

最佳答案

重要的不是文件扩展名,而是 HTTP 媒体类型。您的 Web 服务器可能配置为使用 application/xml 媒体类型提供 .xml 文件;您还可以将其配置为使用此媒体类型提供具有其他扩展名的文件。

(尽管在我遥远的内存中潜藏着 Internet Explorer 在这方面的怪癖,即它对文件扩展名的处理超出了应有的范围。)

关于javascript - 当 XML 文件没有 .xml 扩展名时,如何在 IE 中加载它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53886005/

相关文章:

java - 从 XML 模式 (xsd) 生成 XML 实例

java - XML 解析 - 搜索特定元素

javascript - 即使没有相关的 Y 轴值,如何使用 Chart.js 的日期作为 X 轴

javascript - JQuery slider next 和 prev 按钮仅在单击垃圾邮件时才有效

xml - XSLT:如何使用 XSLT 将 xml 数据转换为层次结构

python - XmlHttpRequest 请求元素为 None

javascript - IE 10 等待 XMLHttpRequest 6 分钟然后应答请求(使用 AngularJS 实现 CRSF)

javascript - XHR 中止不会停止文件上传

javascript - 如何将 JSON 对象合并为 1 个 JSON 对象

javascript - 链接两个 observable http 和存储