Как загрузить xml из вышележащей директории без обращения к серверу?
Нужно загрузить данные из внешнего xml, расположенного в той же папке (или выше), откуда запущено JS приложение. Насколько я понял, XMLHttpRequest позволяет загружать файлы только через обращение к серверу. Можно ли как-нибудь загрузить данные из файла без помощи сервера?
|
Немного непонятно... xml находится на клиентской машине или на web-сервере?
|
Вроде на клиентской машин. По моему никак нельзя.
|
Можно.
В случае если это обычная страница. Файл нужно открыть во фрейме и после получить необходимые данные с этого фрейма. Но если это именно приложение, виджет, гаджет или hta-апликация, то там есть встроенные методы для работы с локальными файлами. |
Цитата:
|
Цитата:
function loadXML(import_file) {
if(typeof ActiveXObject != 'undefined') {
var version = ['Microsoft.XML',
'MSXML2.DOMDocument',
'MSXML2.DOMDocument.3.0',
'MSXML2.DOMDocument.4.0',
'MSXML2.DOMDocument.5.0',
'MSXML2.DOMDocument.6.0'
],
i = version.length, XMLObject;
while(i--) {
XMLObject = new ActiveXObject(version[i]);
}
XMLObject.onreadystatechange = function () {
if(XMLObject.readyState == 4) {
/* ... */
}
XMLObject.load(import_file);
}
}
else if(document.implementation && document.implementation.createDocument) {
var XMLObject = document.implementation.createDocument('','',null);
XMLObject.load(import_file);
XMLObject.onload = function() {
/* ... */
};
}
else {
alert('Your browser doesn\'t support this object');
return false;
}
}
|
monolithed, то, что вы написали не требует обращения к серверу?
И потом я слышал, что ActiveXObject работает только в IE. А для остальных используется XMLHttpRequest. |
Цитата:
в вашем случае, нужно заместо import_file указать путь к файлу и вызвать функцию (ну и допилить код в плане реализации и парсинга документа) Цитата:
|
Цитата:
|
Цитата:
Цитата:
Что вы делаете может расскажите? |
| Часовой пояс GMT +3, время: 06:27. |