Показать сообщение отдельно
  #7 (permalink)  
Старый 30.06.2011, 10:18
Аспирант
Отправить личное сообщение для RUVATA Посмотреть профиль Найти все сообщения от RUVATA
 
Регистрация: 08.02.2011
Сообщений: 41

Есть XML парсер и т.д.
НО...

1) объект "Msxml2.XMLHTTP.6.0" имеет специальный метод responseXML который якобы и должен мне вернуть тот самый xml который необходимо разобрать
хотя опять-же я не могу понять противоречия... т.к. описание этого метода дословно такое:
"Текст ответа на запрос в виде XML, который затем может быть обработан посредством DOM.
Если состояние не 4, возвращает null.
"
Так а состояние = 4 это значит, что запрос завершен и как в приведенном вами примере:
request_handler = function () {
    var level;
    if (request.readyState === 4) {   // if state = 4 (operation is completed)
        if (request.status === 200) { // and the HTTP status is OK
            // get progress from the XML node and set progress bar width and innerHTML
            level = request.responseXML.getElementsByTagName('PROGRESS')[0].firstChild;
            progress.style.width = progress.innerHTML = level.nodeValue + '%';
        }
        else { // if request status is not OK
            progress.style.width = '100%';
            progress.innerHTML = 'Error:[' + request.status + ']' + request.statusText;
        }
    }
};

как это отрабатывает в процессе запроса я не могу никак понять... ведь пока readyState <> 4
там должен быть null... и строка
level = request.responseXML.getElementsByTagName('PROGRESS ')[0].firstChild;
должна спровоцировать исключение...

2) на каком бы этапе я не обращался к методу responseXML, но все время возвращает пустоту (nothing / "")...
и во время запроса и после его завершения...

Подскажите какова роль сервера в этом случае, должно ли на нем что-то такое специфическое быть реализовано... или от сервера здесь ничего не зависит ?

Последний раз редактировалось RUVATA, 30.06.2011 в 12:04.
Ответить с цитированием