Взаимодействие с серверной частью приложения организовано с помо¬щью метода getWeather(), который получает данные через объект XML¬Http. Обращения к серверу выполняются с частотой один раз в минуту:
AjaxWeatherWidget.prototype.getWeather = function () { w var oThis = this;
var doTimeout = function () { oThis.getWeather();
Метод начинается с того, что записывает значение ссылки на объект в переменную oThis. Эта ссылка затем найдет себе применение во вло¬женной функции doTimeout(), которая будет вызывать метод getWea-ther() для периодической проверки наличия обновлений.
Затем с помощью объекта XMLHttp выполняется запрос к серверу:
AjaxWeatherWidget.prototype.getWeather = function () { var oThis = this;
var doTimeout = function () { oThis.getWeather();
};
В случае успешного выполнения запроса из него в первую очередь а мощью метода getResponseHeader() извлекается заголовок Weather-H f ied. Теперь надо убедиться, что полученные данные новее уже i ченных, для чего значение заголовка Weather-Modified сравнЕ со значением свойства lastModif ued объекта AjaxWeatherWidget. Если совпадают, значит, никаких изменений с момента последнего по ния информации не было, в противном случае данные обновля и добавляются в элемент HTML через свойство innerHTML.
В заключение задается интервал времени, составляющий одну I и определяющий частоту вызова функции doTimeout():