небольшая проблема с XHR запросом
Прошу тапками не кидаться. Я начинающий в этом деле, дается всё с каким-то невероятным трудом. Тут утнулся в проблему. Суть в следующем:
на этом сайте нашел описание что есть XHR запрос, как работает и всё такое. использую код из примеров опубликованных тут же. выполняю синхронный запрос, в ответ получаю следующий ответ <html><head> <meta http-equiv="Content-Type" content="text/xml; charset=windows-1251"> <link href="b2b_ccs.css" rel="stylesheet" type="text/css"> </head><body> <form id="form1" name="form1" action="" method="post"> <input type="hidden" id="client_id" value="_JK76DGHD"> <input type="hidden" id="errors" value="0"> </form> </body></html> в статье сказано чтобы браузер распарсил отет в XML надо в заголовке указать content="text/xml, проверяю свойство xmlHttp.responseXML!=null, условие выполняется, значит браузер ответ распарсил. Далее в статье сказано что после этого со свойством responseXML можно работать как document, т.е. строка xmlHttp.responseXML.getElementById("errors").value для нашего ответа должно вернуть "0" вместо этого браузер сообщет об ошибке, что данные метод не поддердивается объектом. Вот собственное вопрос: где коряга. P.S. пробовал делать так var _er=xmlHttp.responseXML.getElementById("errors"), не нравиться именно "getElementById". |
Цитата:
|
дык я ж в ответ вставил content="text/xml" или что-то имеется ввиду другое ? Может не так надо делать ?
|
Вы передаете не XML.
|
хм... понятно. А вот вопрос тогда такой, а XHR вообще html не понимает ? Т.е. что работать с ответом как с куском HTML мне надо формировать ответ в другой форме (например убрать теги html, header, body и оставить тег form) и полученный ответ вставить в документ например document.write или element.innerText=... я правильно понял ?
|
Для этого у xhr есть свойство responseText.
|
А не подскажите почему происходит следующее: есть IFRAME следующей записи
<IFRAME id="tree" src="http://localhost....">Ваш браузер не поддреживает IFRAME</IFRAME> Вот то что src= бла-бла возвращает HTML со структуированым списком. В этой возвращенной html есть ссылка на таблицу связи. Но браузер отображает этот ответ как будто не находит указанный файл с CCS. Пробовал сделать следующее: когда ответ получен просматриваю исходный вид того что во фрейме(в IE есть такое по правой кнопеке мыши), копирую всё это в новый отдельный файл, скажем 1.html и выше указанном фрейме src делаю так src="1.html". Файл 1.html кладу в ту же папку что и отсновную страницу. В этом случае все показывается гуд. Лечится это только включением в ответ всех используемых таблиц стилей. Как это исправить ? |
Цитата:
HTML - подмножество XML так что дело тут в другом. Как я понимаю responseXML не Null - значит что-то он да содержит. например, имеем: <tag id="id">текст</tag> в FF: responseXML.getElementById("x") = Null responseXML.getElementById("x").textContent = Неопределено responseXML.getElementsByTagName("tag")[0] = tag responseXML.getElementsByTagName("tag")[0].textContent = текст т.е. может если захочет, а вот IЕ ваще никак. Может быть кто-то реально в этом разобрался с EI? Поделитесь. |
Цитата:
|
пробовал - то же самое
|
Часовой пояс GMT +3, время: 04:49. |