Решим типичную для AJAX задачу - реализуем на сайте часы, показывающие время на сервере. Для этого при загрузке страницы нам нужно создать специальный объект JavaSctipt, который будет отправлять запрос на сервер и получать ответ от него:
var request = null; //Cпециальный объект if (window.XMLHttpRequest) { request = new XMLHttpRequest(); //Для всех браузеров, кроме IE } else if (window.ActiveXObject) { request = new ActiveXObject("Microsoft.XMLHTTP"); //Для IE } UpdateTime(); //Запускаем обновление времени function UpdateTime() { //Проверяем готовность к отправке запроса if(request.readyState == 4 || request.readyState == 0) { //Указывает метод передачи, путь к скрипту и будет ли запрос выполнятся асинхронно request.open("GET", "script.php", true); //Отключаем кэширование результатов (для IE) request.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"); //Назначаем функцию, обрабатывающую ответ от сервера request.onreadystatechange = function() { //Проверяем - получен ли ответ if(request.readyState == 4) { if(request.status == 200) { //Записываем ответ от сервера в div document.getElementById('divTimer').innerHTML = request.responseText; //Повторяем запрос через 500 миллисекунд setTimeout('UpdateTime()', 500); } } }; //Отправляем запрос request.send(null); } else { //Если специальный объект был занят, повторяем запрос через 500 миллисекунд setTimeout('UpdateTime()', 500); } }
В файле script.php получаем время:
<?php echo date('H-i-s'); ?>
На этом курс окончен.) Ещё раз хочу подчеркнуть - не важно какой язык используется на стороне сервера. В request.responseText окажется то, что вы увидите, введя адрес своего скрипта в браузер (например, www.site.ru/script.php).
Комментариев нет:
Отправить комментарий