Меню сайта
Полезные статьи
Авторские права [1]
Антивирусы [6]
Ajax [2]
Joomla [26]
PHP [10]
Базы данных [2]
Заработок в интернете [0]
Раскручиваем сайт сами [20]
Бесплатное ПО для Windows [10]
Переходим по ссылке
Реклама
Интересное
Web разработчику
Сайткрафт-Студия 5.22 (0)
Раскручиваем сайт сами
Google Алгоритм Панда – бич для любителей некачественного контента (0)
Ajax
Ajax, урок второй. (Отправка POST запроса без перезагрузки страницы) (2)
Раскручиваем сайт сами
Первые шаги по продвижению нового сайта (0)
PHP
[Решено!] Ошибка: Call to undefined function: curl_init() или нерабочий cURL (3)
CD/DVD диски
Free Studio 5.3.5 (0)
Раскручиваем сайт сами
Советы в раскрутке блога (1)
Софт
Kaspersky Crystal бесплатно (0)
Joomla
Рубрики Ajax2 Joomla26 SEO3 Администрирование3 Безопасность1 Комментарии2 Контактные формы1 (10)
Раскручиваем сайт сами
Как вывести сайт с нулевым ТИЦ на вершины выдачи Яндекса (0)
Наши друзья

Бесплатная раскрутка Graffiti Decorations(R) Studio (TM) Site Promoter

статистика
Реклама
Главная » Статьи » Ajax

Введение в Ajax

Привет, дорогой читатель. В этой статье я расскажу тебе о том, что такое ajax и с чем его едят.Ajax(Asynchronous Javascript And Xml)- технология для взаимодействия с сервером без перезагрузки страниц. Преимущество ajax в том, что при его использование можно изменить часть web страницы, не перезагружая всю страницу целиком, а только лишь нужную нам часть. Сейчас мы рассмотрим простой пример использования ajax.

Создадим файл "ajax.html", в него вставим этот html код:

<html>
<head>
<title>Пример асинхронной передачи данных</title>
</head>
<body>
<input value="Сколько время?" onclick="now_time()" type="button">
<div id="time">Здесь будет ответ сервера
</body>
</html>

Теперь рассмотрим данный html код.

При нажатие на кнопку "сколько время?" будет вызвана java script функция now_time(). Функция пошлет запрос на сервер, сервер обработает запрос и вышлет нам ответ в div time.

Теперь мы рассмотрим саму функцию now_time():

Во-первых, для асинхронного обмена данными мы будем использовать специальный объект XmlHttpRequest, который умеет отправлять запрос и получать ответ от сервера.

function getXmlHttp(){
 var xmlhttp;
 try {
 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
 try {
 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 } catch (E) {
 xmlhttp = false;
 }
 }
 if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
 xmlhttp = new XMLHttpRequest();
 }
 return xmlhttp;
}

Подробно про этот объект вы можете прочитать тут.

А теперь про саму функцию now_time():

function now_time() {
var req = getXmlHttp() // создадим объект для запроса к серверу
var statusElem = document.getElementById('time') // id div`a в котором будет отображатся ход выполнения скрипта
req.onreadystatechange = function() { // onreadystatechange - активируется при получении ответа сервера
if (req.readyState == 4) { // если запрос закончил выполняться
statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)
if(req.status == 200) { // если статус 200 - выдать ответ пользователю
alert("Ответ сервера: "+req.responseText); // выдаем ответ
}
}
}
req.open('GET', '/time.php', true); // задаем адрес подключения скрипта
/* объект запроса подготовлен: указан адрес и создана функция onreadystatechange
 для обработки ответа сервера */
req.send(null); // отослать запрос
statusElem.innerHTML = 'Ожидаю ответа сервера...' 
}

Серверный обработчик, к которому обратился наш ajax-запрос (в примере это time.php), по сути, ничем не отличается от обычной php страницы.

Теперь мы перейдем к файлу time.php

<?php
sleep(2);
setlocale(LC_TIME, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251');
$time = strftime("%H:%M:%S\n");
$unix_time = time();
echo "<p>Человеческое время: $time <br> Unix время: $unix_time";
?>

http://live-code.ru



Категория: Ajax | Добавил: defaultNick (19.02.2012)
Просмотров: 967 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:

Расширенный поиск
Smile :D
Реклама
Интересное
Вход