http://blagtalkan.ru
http://oktpoisk.ru
http://mysorru.ru/
http://san-okt.ru/
http://pes6evolution.ru/
http://chasikigov.ru
http://serafimsovet.ru
http://filmsgov.ru
http://free-domen.ru
http://fithonda.ru/forums/index.php
http://avtogov.ru
http://www.1001bilet.com.ua/base/on-line/
http://pravilavoini.ru
http://school41ufa.ru
http://rusrav4.ru
Получение новой информации | Книга AJAX
 

Перед завершением конструктор класса NewsTickerFeed вызывает ме¬тод ро11(), который выполняет запрос к серверной части приложения. Он автоматически проверяет наличие обновлений каждые полторы минуты.
NewsTickerFeed.prototype.poll = function () { var oThis = this;
var oReq = zXmlHttp.createRequestO; oReq.onreadystatechange = function () { if (oReq.readyState ==4) { if (oReq.status == 200) {
oThis.populateTicker(oReq.responseText);
var sFullUrl = encodeURIC'newsticker,php?url=" + this.url);
oReq.open("GET", sFullUrl, true); oReq.send(null);
}
Этот метод создает объект XMLHttp. Но сначала обратите внимание на ставшую уже популярной методику записи ссылки на объект NewsTick¬erFeed в переменную oThis. Далее с помощью библиотеки zXml создает¬ся объект XMLHttp и устанавливается обработчик события onreadystate-change. В случае успешного выполнения запроса свойство responseText передается методу populateTicker().
Перед фактическим выполнением запроса очень важно закодировать URL. Тем самым обеспечивается преобразование символов пробела, амперсанда, кавычек и прочих служебных символов в их эквивален¬ты, которые безопасно могут передаваться в Сети.
Заключительное дополнение в методе poll() — функция автоматиче¬ского обновления. В ее реализации применяется способ, уже знако¬мый вам по методу tick() класса NewsTicker:
NewsTickerFeed.prototype.poll = function () { var oThis = this;
var oReq = zXmlHttp.createRequestO; oReq.onreadystatechange = function () { if (oReq.readyState == 4) { if (oReq.status == 200) {
oThis.populateTicker(oReq.responseText);
>
}
};
var sFullUrl = encodeURI("newsticker.php?url=" + this.url);
oReq.open("GET", sFullUrl, true); oReq.send(null);
var doSetTimeout = function () { oThis.pollO;
setTimeout(doSetTimeout, 90000);
"""}'""""'*"'
Этот новый фрагмент содержит функцию с именем doSetTimeout;'] торая передается методу setTimeoutQ. Поскольку область BI этой функции ограничивается исключительно методом poll О, кого конфликта с одноименной функцией в методе tick() не буд перь метод poll() будет запускаться каждые полторы минуты и < лять ленту новостей.