使用XMLHttpRequest对象加​​载XML格式的文件,扩展名不同于.xml

时间:2010-07-30 15:45:12

标签: javascript xmlhttprequest

我有这个使用javascript加载xml文件的代码:

function getXmlDocument(sFile) {
var xmlHttp, oXML;

// try to use the native XML parser
try {
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET", sFile, false); // Use syncronous communication
    xmlHttp.send(null);
    oXML = xmlHttp.responseXML;
} catch (e) {
    // can't use the native parser, use the ActiveX instead
    xmlHttp = getXMLObject();
    xmlHttp.async = false;            // Use syncronous communication
    xmlHttp.resolveExternals = false;
    xmlHttp.load(sFile);
    oXML = xmlHttp;
}

// return the XML document object
return oXML;

}

如果'sFile'的扩展名不是.xml,则该函数始终返回“”。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

我认为这是服务器端的问题:扩展名不是.xml的文件不能获得MIME类型text/xmlsomething alike以及浏览器(XML解析器) )不会将其识别为XML。

确保服务器软件使用正确的MIME类型为您的内容提供服务。使用Apache,您可以在.htaccess文件中进行更改。应使用适当的Content-Type:标头发送动态生成的XML。在PHP中,您可以使用header函数执行此操作。