регулярное выражение в js

Печать RSS
433

И
Автор
Пацак
0
проверил responseText:
   var xmlResponse = xmlHttp.responseText;
   console.log(xmlResponse);
html
но как вот с этим полученным html работать?например console.log(xmlResponse.getElementsByTagName('small')); ничего не возвращает
Изменил: Изнаур (07.09.2013 / 20:15)

Голубые штаны
0
console.log(xmlResponse.getElementsByTagName('small')[0]);
И
Автор
Пацак
0
не возвращает ничего...
И
Автор
Пацак
0
я так понял js не воспринимает ответ как DOM,пришлось пользоваться регулярками

Голубые штаны
0
14. Iznaur95, конечно не воспринимает, если скрипт отдает результат любым другим способом, кроме обычного HTML. Как скрипт отдает информацию, покажи? Именно строки, где отдается информация и останавливается выполнение.
И
Автор
Пацак
0
var xmlHttp = createXmlHttpRequestObject();
// создает экземпляр объекта XMLHttpRequest
function createXmlHttpRequestObject()
{
// переменная для хранения ссылки на объект XMLHttpRequest
    var xmlHttp;
// эта часть кода должна работать во всех броузерах, за исключением
// IE6 и более старых его версий
    try
    {
// попытаться создать объект XMLHttpRequest
	xmlHttp = new XMLHttpRequest();
    }
    catch (e){}
// вернуть созданный объект или вывести сообщение об ошибке
    if (!xmlHttp)
	alert("Ошибка создания объекта XMLHttpRequest.");
    else
	return xmlHttp;
}
// вызывается для чтения файла с сервера
function process()
{
// продолжать только если в xmlHttp не пустая ссылка
    if (xmlHttp)
    {
// попытаться установить соединение с сервером
	try
	{
	    var d = "http://nero.16mb.com/mail/index.php?act=input";
	    // инициировать чтение файла с сервера
	    xmlHttp.open("GET", d, true);
	    xmlHttp.onreadystatechange = handleRequestStateChange;
	    xmlHttp.send(null);
	}
// вывести сообщение об ошибке в случае неудачи
	catch (e)
	{
	    setTimeout('process()', 5000);
	}
    }
}
// эта функция вызывается при изменении состояния запроса HTTP
function handleRequestStateChange()
{
// когда readyState = 4, мы можем прочитать ответ сервера
    if (xmlHttp.readyState == 4)
    {
// продолжать, только если статус HTTP равен «OK»
	if (xmlHttp.status == 200)
	{
	    try
	    {
// обработать ответ, полученный от сервера
		handleServerResponse();
	    }
	    catch (e)
	    {
// вывести сообщение об ошибке
		setTimeout('process()', 5000);
	    }
	}
	else
	{
	    setTimeout('process()', 5000);
	}
    }
}
// обрабатывает ответ, полученный от сервера
function handleServerResponse()
{
// прочитать сообщение, полученное от сервера
   var xmlResponse = xmlHttp.responseText; 
   //console.log(xmlResponse);
  //var ex = xmlResponse.body;
 myDiv = document.getElementById("lol");
// вывести полученный код HTML
 var ns = xmlResponse.match('<div class="gmenu">(.*?)</div>');
    myDiv.innerHTML = ns[0];
    /* //console.log(xmlResponse);
  // xmlRoot = xmlResponse.documentElement;
  // console.log(xmlRoot);
  // console.log(xmlRoot);
  var sm = xmlRoot.getElementsByClassName('gmenu');
  console.log(sm);
    myDiv = document.getElementById("lol");
// вывести полученный код HTML
    myDiv.innerHTML = sm.item(0).data;
*/
}
вот весь код
И
Автор
Пацак
0
может дело в этом?
header('Content-type: application/xhtml+xml; charset=UTF-8');(на стороне сервера)
Изменил: Изнаур (07.09.2013 / 21:31)

Голубые штаны
0
16. Iznaur95, ёптель, я же попросил всего пару строк серверной части.

Добавлено через 00:36 сек.
17. Iznaur95, да, 90%, что дело в этом заголовке.
И
Автор
Пацак
0
18,спасибо,если кому нужно проблему можно решить так:
//превращение в DOM
    var mydoc=document.createElement('div');
    mydoc.innerHTML=xmlHttp.responseText;
    console.log(mydoc.getElementsByTagName('small'));
Изменил: Изнаур (08.09.2013 / 00:31)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск