Статьи

Быстрый совет: XMLHttpRequest и innerHTML

XMLHttpRequest — один из самых секретных секретов современного DHTML. Если вы не сталкивались с этим раньше, это метод возврата HTTP-запроса к хост-серверу без обновления всей страницы — разновидность удаленного скриптинга на стероидах. Первоначально расширение Microsoft, оно было адаптировано как к семейству браузеров Mozilla, так и ( начиная с версии 1.2 ) Safari. Библиотека Sarissa, которая обсуждалась ранее, предлагает уровень абстракции для различных браузеров, или для более легкого подхода этот код с jibbering.com (который использует условную компиляцию JScript в IE) работает отлично.

Получение максимальной отдачи от XMLHttpRequest обычно включает в себя использование сгенерированного на стороне сервера XML, который может быть получен вашим приложением JavaScript, проанализирован и использован в более сложной логике. Однако для быстрого исправления следующий код загрузит фрагмент HTML из URL-адреса и вставит его непосредственно на страницу:


function loadFragmentInToElement(fragment_url, element_id) {
    var element = document.getElementById(element_id);
    element.innerHTML = '<p><em>Loading ...</em></p>';
    xmlhttp.open("GET", fragment_url);
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            element.innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.send(null);
}

Вызовите вышеуказанную функцию с URL вставляемого фрагмента HTML и идентификатором элемента, в котором он должен появиться. Он использует код jibbering.com для настройки переменной xmlhttp.

Это определенно быстро и грязно, но это также отличная быстрая демонстрация возможностей расширения XMLHttpRequest.