Хостинг

IPhoster
 

Информация

 
 

Опрос

С каких Файлообменников вам удобнее качать?

letitbit.net
depositfiles.com
vip-file.com
другие...
 
 

Знакомство с Ajax

Новость опубликовал: administrator ( Добавлено : (18-07-2010, 09:28) )  


Небольшая вводная статья для тех, кто хотел бы узнать, что такое этот зверь Ajax, с чем его едят и как его применять «в быту». Сразу скажу, что, если Вы знакомы с языком javascript и HTTP запросами, ну и, конечно же знаете один из серверных языкрв программирования (PHP, Perl, к примеру), то освоить Ajax Вам будет просто…

Файл engine/modules/mymod.php не найден, его загрузка невозможна.

 Комментариев: (30)  Просмотров: 1011

AJAX - идея, предложенная одним умным человеком в далёком 2005 году. Суть ее сводится к тому, что бы осуществлять передачу данных от клиента (программы браузера) к серверу без фактической перезагрузки web-страницы, тоесть это та красота, которую мы видим на хороших сайтах.

Есть несколько реализаций этой идеи, данная статья расскажет об одной из них.

Для начала предлагаю уточнить, какие плюсы на своём сайте мы получаем, включая Ajax в свои скрипты.

1. Мы экономим траффик как посетителя, так и свой собственный, на многих ъостах приходиться платить за трафик.
2. Мы экономим драгоценное время посетителя, что положительно скажется на уважение пользователя к сайту.
3. Серверу не приходится передавать каждый раз кучу HTML-кода, что значительно облегчает ему работу. Сервер попросту меньше нагружен – сайт будет работать быстрее.
4. Пользователь жмет на кнопочку и практически тут же видит результат, что превращает сайт практически в пользовательскую программу.

Примеры использоавния Ajax

К примеру, раньше, пользователь, чтобы выйти (очистить cookies) из собственного аккаунта на каком-либо сайте, жал на "выход", ждал перезагрузки и, убедившись, что для системы он Гость, уходил с сайта. Что не совсем удобно, согласитесь. Теперь, он жмет "выход" и через мгновение видит изменение своего статуса. Таких примеров полным полно как во всём мире, так и в Рунете.

Я думаю, уже не осталось сомнений, что AJAX имеет право на существование на Вашем сайте. Остается только вопрос, как же реализовать саму идею на практике. Сразу скажу, есть несколько больших и громоздких скриптов. Но мы попытаемся написать свой собственны.

Я надеюсь, все знают о существовании тэга . Если не знаете, дальше можно не читать. Так вот, у него есть замечательный атрибут src - адрес к javascript-скрипту. Этим файлом так же может быть и php-файл с php-скриптом, после обработки сервером выдающий некий javascript, попутно может сохранять что-то в базу данных или в файлы, создавать cookies набор, ну или что-нибудь другое.

Для начала нам так же нужно динамически создавать в документе. Отведем для него специальный блок в нашем HTML-файле:

<div id="block2" style="display: none;"></div>


Стоит заметить, что нам понадобится передавать параметры php-скрипту, а функции URL-кодирования в javascript нет.

Данные от страницы должны как-то передаваться нашему файлу, где храниться javascript код, поэтому делаем так:

<input type="submit" value="Отрправить запрос"' onclick="makeRequest(‘данные’);" />


Пишем подобный скрипт, попытался его прокомментировать как можно подробнее:

    // Переменная name передаёт параметры php-скрипту
    function makeRequest(name) { // Передаваемых параметров может быть больше
        var http_request = false;
        if (window.XMLHttpRequest) { // Если не Internet Explorer
            http_request = new XMLHttpRequest(); // Создать объект для связи с сервером
            if (http_request.overrideMimeType) { // Установить тип содержимого и кодировку
                http_request.overrideMimeType('text/html; charset=windows-1251');
            }
        } else if (window.ActiveXObject) { // Если IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP"); // Создать объект для связи с сервером
        } catch (e) {
        try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
        }
    }
        if (!http_request) { // Если не получилось создать
            alert('Невозможно создать экземпляр класса XMLHTTP');
            return false;
        }
        http_request.onreadystatechange = function() { alertContents(http_request); }; // Установить функцию которая будет использоваться при получении ответа


        http_request.open('GET','script/add_ajax.php?name='+name, true); // Открыть соединение
        http_request.send(null); // Отослать запрос серверу
    }

    function alertContents(http_request) {
        if (http_request.readyState == 4) { // Если ответ получен
            if (http_request.status == 200) { // Если все нормально


                //Вставить в содержимое block полученный ответ
               document.getElementById('block2').style.display = 'block';

               // Вствляем полученные от сервера данные в блок на нашей странице
               document.getElementById('block2').innerHTML=http_request.responseText;
            } else {
                alert('С запросом возникла проблема.');
            }
        }
    }


Ну как видите, если потратить некоторое время, то можно быстро разобраться и уже через некоторое время начать внедрять Ajax в свой сайт. Я например, использовал Ajax для различного рода опросов на сайте, отсылки писем и прочих небольших полезных вещиц. Но не стоит внедрять Ajax для навигации по сайту или для выбора статей из списка - это существенно понизит индексируемость Вашего сайта, потому что javascript поисковики не «читают»!

И теперь остается еще один небольшой вопросик. Дело в том, что все скрипты, вызывающиеся запросом, кэшируются браузером. Чтобы этого избежать, каждый php-скрипт начинаем с четырех строк:

Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
Header("Cache-Control: no-cache, must-revalidate");
Header("Pragma: no-cache");
Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");


Так же не забывайте указывать кодировку как в HTML-файле, так и в php-скрипте, это Вас обезопасит от отображения «козябл» вместо буков.

Скачать небольшой пример ajax, Вы можете здесь - пример

Удачной работы с Ajax…


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Другие новости по теме:

 
 

#1 написал: HuttBlalp

4 апреля 2012 07:44 | ICQ: -- |


Группа: Гости
Регистрация: --
fleet credit card account access, free low interest credit card application. credit repair spokane, Pay day loans or money advances. transunion credit score compared to fico using a credit services.

colorado consumer credit law, mortgage definitions conforming loans. line of credit called. bad credit home loan co, opt out of credit card invitations.
Публикаций: 0 | Комментариев: 0     цитировать    
 
 

#2 написал: GekCreertyWak

12 мая 2012 14:39 | ICQ: -- |


Группа: Гости
Регистрация: 11.05.2012
car insurance search engine cheap new driver car insurance. home insurance comparison sites, car insurance quote. cheap contents insurance, rental car company insurance.

cheap car insurance for learner nj homeowners insurance. best homeowners insurance. car insurance ga home insurance in florida.
Публикаций: 0 | Комментариев: 208     цитировать    
 
 

Добавление комментария