Пример простого «ajax»-запроса:


    var request = window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null);
    
    request.onreadystatechange = function() {
        if (request.readyState == 4 && request.status == 200) {
            document.getElementById('Debug').innerHTML = request.responseText;
        }
    };
    request.open('GET', 'your_url', true);
    request.send(null);

    

Теперь с комментариями:


    // получаем объект отвечающий за асинхронную загрузку (все - XMLHttpRequest(), любимый IE - ActiveXObject("Microsoft.XMLHTTP"))
    var request = window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null)
    
    // для 'смены состояния':
    request.onreadystatechange = function() {

        // при статусе 4 и ответе сервера 200 (если вдруг кто не знает, может быть 404 - не найдено и 500 если сломалось)
        if (request.readyState == 4 && request.status == 200) {

            // элементу с id="Debug" приделать .responseText (текст, который получили с сервера)
            document.getElementById('Debug').innerHTML = request.responseText;
        }
    };

    // открывает http-запрос с методом GET, с url и true - асинхронно (false - синхронно)
    request.open('GET', 'your_url', true);

    request.send(null);