首页 > 解决方案 > 当没有 .xml 扩展名时,如何在 IE 中加载 XML 文件?

问题描述

我在 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 中工作。

标签: javascriptxmlxmlhttprequest

解决方案


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

(虽然在我遥远的记忆中潜伏的某个地方是 Internet Explorer 在这方面的怪癖的回忆,即它在文件扩展名方面做得比它应该做的更多。)


推荐阅读