Загружать файлы в формате XML с другим расширением, отличным от XML, используя объект XMLHttpRequest - PullRequest
1 голос
/ 30 июля 2010

У меня есть этот код, который загружает XML-файл, используя javascript:

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 Ответ

1 голос
/ 30 июля 2010

Я думаю, что это проблема на стороне сервера: файлы с расширением, отличным от .xml, не получают тип MIME text/xml или , что-то похожее и браузер (анализатор XML) не распознает его как XML.

Убедитесь, что ваш контент обслуживается с правильным типом MIME вашим серверным программным обеспечением. С помощью Apache вы можете изменить это в файле .htaccess. Динамически генерируемый XML должен быть отправлен с соответствующим заголовком Content-Type:. В PHP вы можете сделать это с помощью функции header.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...