javascript - 当没有 .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 中工作。
解决方案
重要的不是文件扩展名,而是 HTTP 媒体类型。您的 Web 服务器可能已配置为使用 application/xml 媒体类型提供 .xml 文件;您还可以将其配置为使用此媒体类型提供具有其他扩展名的文件。
(虽然在我遥远的记忆中潜伏的某个地方是 Internet Explorer 在这方面的怪癖的回忆,即它在文件扩展名方面做得比它应该做的更多。)
推荐阅读
- excel - 打开现有 Word Doc 时,有没有办法绕过“正在使用的文件”对话框?
- spring-boot - @ConfigurationProperites 升级到 Spring Cloud Hoxton.SR7 后未绑定到属性源
- ios - 应用程序在 iOS 14 测试版中卡在多个位置
- python - 根据数据框中的日期时间创建订单列
- javascript - JavaScript Web Worker 消息
- regex - bash grep regex 如何不 grep 时间戳
- reactjs - 在 react redux thunk 执行后,useSelector 值没有立即改变
- javascript - 不和谐机器人如果仅当可验证等于是时声明,机器人发送嵌入
- javascript - 拥有内容时如何创建 PDF 文件的 Blob
- c# - 从远程 IIS 服务器上传时,上传的文件没有内容