[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные
работа в корее отзывы реальные




Web - программирование / AJAX /

HTML_AJAX в действии


Файлы к статье: http://www.realcoding.net/downloads/html_ajax.rar

HTML_AJAX специально разрабатывался для облегчения разработки приложений использующих технологию AJAX (Asynchronyse Javascript And XML). Технология довольно давно уже стала популярной и неудивительно. Лично я увидел для себя экономию трафика, и отсутствие перезагрузки страниц, что не может не радовать глаз, никаких перерисовок рисунков, глядишь и появляются новости, нажал кнопку, а информер сообщил тебе, что твоя запись в блог успешно добавлена, и ты действительно уже видишь ее в своем списке последних записей. Мечта для пользователя, а нам девелоперам собственно надо ее осуществлять, и следовать принципу, что приятно пользователю, то девелоперу пополнение счета.

Почему именно HTML_AJAX? Давайте сразу определимся, и будем смотреть в прогрессивное будущее. HTML_AJAX великолепно использует классы, на этом и сыграем. На данный момент насколько меня не обманывает память идет уже разработка PHP6, посмотрим на результат. Я же использую следующую комбинацию PHP5+HTML_AJAX.

Если PEAR у вас установлен, то собственно берем данный пакет отсюда http://pear.php.net/HTML_AJAX. В любом другом случае вы можете просто скачать архив, распаковать его в удобное место и не забыть в ini файле прописать include_path к данному пакету.

2. Простой пример и отступление со вступлением.


Для начала просто покажу пример HTML страницы.


<html>
<head><title>HTML_AJAX Example</title></head>
<script src="server.php5?client=all&stub=user"></script>
<script>
function checkName(f) {
var u = new user();
var t = document.getElementById('tgt');
if ( u.checkname(f.username.value) == true ) {
tgt.innerHTML = 'You can register this username';
} else {
tgt.innerHTML = 'This username is already in use';
}
return true;
}
</script>
<body>
<div id="tgt"></div>
<table>
<form onsubmit="return !checkName(this);">
<tr>
<td>
Username
</td>
<td>
<input type="text" name="username" />
</td>
<td>
<input type="submit" value="Check this name" />
</td>
</tr>
</form>
</table>
</body>
</html>


Помните, сколько раз вам приходилось регистрировать себе почтовый ящик, или вообще просто регистрироваться на каком-нибудь форуме? Вы заходите на страницу регистрации, заполняете все поля, как приличный пользователь жмете «Зарегистрироваться» и, святая святых, после всего, что вы заполняли, мало того, что значения полей не сохраняются так еще и ваше всюду используемое имя в сети занято. Порядок? Конечно, нет!

Естественно любой программист должен думать об удобной регистрации. В конце концов, для кого мы пишем и трудимся? Да конечно для себя и естественно перечень действий, которые нужны, чтобы пройти регистрацию знаете только вы, а другим надо объяснять. Но это так, наболевшее.

Я не зря заговорил об удобной регистрации. Зайдя на форму регистрации, пользователь естественно может потеряться в том количестве полей, которые вы можете ему предложить. Лично я предпочитаю запрашивать только самые необходимые поля, которые действительно необходимы для регистрации, а остальное оставлять на потом, но периодически напоминать или поставить напоминание где-нибудь на не очень заметном месте, что профайл пользователя не заполнен.

Вернемся к нашему примеру. Что он дает? В принципе фактически ничего, но довольно полезен. Что нам интересно и хотелось бы прояснить? Откуда взялся класс user с методом checkname()? Для этого посмотрим на `3` строку. Он довольно объемист, но пока об этом задумываться не будем.


3. Создание сервера


Собственно скрипт и есть сервер, который обслуживает наши AJAX запросы, обрабатывает данные. Использовать
его довольно легко.


<?php
require_once 'HTML/AJAX/Server.php';
class user {
public function __construct() {}
public function checkname($username) {
// some query to db to check on existing username $username
if ( $username=='md5hash' ) return true; else return false;
}
}
$user = &new user();
$srv = new HTML_AJAX_Server();
$srv->registerClass($user);

$srv->handleRequest();
?>


Мы создаем класс user и класс HTML_AJAX_Server, которому и передаем указатель на класс, который мы хотим использовать в своих AJAX запросах. Функция username() может обращаться к базе данных и смотреть на наличие в таблице пользователя с именем $username. Мы же для примера подразумеваем, что любое имя, кроме моего родимого свободно ?.


4. Outro.


К сожалению, мысль широка, особенно если учитывать вопросы регистрации, но объемист и возможно вам захочется сделать что-нибудь свое. Что довольно удобно, так то что при всех запросах в правом верхнем углу появляется слой с надписью Loading… говорящий о том что все работает так как надо.




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Web - программирование / AJAX /

Asynchronous JavaScript and XML
06-12-2009   

Когда существующих возможностей становиться мало, а совершенствовать существующее уже некуда, тогда и происходит технологический прорыв. Таким прорывом и есть AJAX (Asynchronous JavaScript and XML) - подход к построению пользовательских интерфейсов веб-приложений, при котором web-страница, не перезагружаясь, сама догружает нужные пользователю данные. AJAX - один из компонентов концепции DHTML... подробнее

Кол. просмотров: общее - 3573 сегодня - 1

AJAX. Взаимодействие с жизненным циклом страницы
06-12-2009   

Итак, запись в таблице отредактирована, осталось её сохранить. Первое, что приходит на ум - это целиком AJAX решение, когда данные собираются из редактируемой строки DataGrid, отправляются на сервер, и в случае успеха клиентская PostBack функция перерисовывает строку таблицы уже только для просмотра... подробнее

Кол. просмотров: общее - 3570 сегодня - 0

xAJAX: Легкий AJAX в массы
03-12-2009   

Не так давно я говорил, что буду предоставлять информацию относительно PHP и Ajax. На конференции которую я провел на прошлой неделе 10 ноября 2005г. Я также обещал людям что переведу все что я приготовил для публикации на моем блоге (автор так и не перевел все это дело на Голландский, тем самым очень мне облегчил перевод )... подробнее

Кол. просмотров: общее - 3770 сегодня - 0

«Hello, закладки!» - Добавить в закладки на AJAX
03-12-2009   

Давайте обсудим более рациональные и эффективные функции для нашего любимого сайта. Начнем с самой простой вещи - кнопки Добавить в закладки. По моему, это самое наболевшее место, которое так и просится чтобы его Ajax’стили... подробнее

Кол. просмотров: общее - 238792 сегодня - 0

Simple AJAX Code-Kit (SACK) и движок DataLife
03-12-2009   

Рыская в интернете в поисках Ajax-готового новостного движка, я наткнулся на давно всем известный . Хотя этот довольно продвинутый php ресурс и содержит элементы Ajax, они по-моему не до конца раскрыты и используются довольно скупо... подробнее

Кол. просмотров: общее - 3860 сегодня - 0

Популярные статьи



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects