Пользовательский интерфейс
Первым шагом в разработке клиентской части любого приложения яв¬ляется создание пользовательского интерфейса на языке разметки HTML. Для работы с данным виджетом нам потребуются четыре эле¬мента, содержащиеся внутри элемента : ; ;
Программная часть на стороне клиента
Функциональные возможности клиента очень важны, особенно для таких виджетов, как этот. Прежде чем приступить к поиску, пользо¬ватель уже сделал некоторые предположения о том, как это делается. Поэтому очень важно придерживаться следующих рекомендаций:
Страница поиска
Работа по созданию класса, выполняющего поиск, завершена, осталось только создать веб-страницу поиска. Данная страница I принимать искомую фразу в виде параметра search в строке Строка запроса может выглядеть, например, так:
http://yoursi.te.com/search.aspx?search=ajax i- .
Класс SiteSearch
Для взаимодействия с базой данных виджет использует класс Site-Search, с помощью которого производится запрос к базе данных, и по¬лученные результаты преобразуются в строку формата JSON. Этот класс имеет одно приватное поле _conString, в котором будет хранить¬ся строка соединения с сервером баз данных MS SQL.
Структура возвращаемых данных
В качестве результата поставляются только идентификатор записи в блоге и ее заголовок; кроме того, результат поиска может содержать более одной записи.
База данных
Таблица базы данных для данного конкретного блога имеет очень про¬стую структуру. Она состоит из четырех полей: id (идентификатор),Этот запрос создаст пустую таблицу. Среди файлов к данному ру, выложенных на www.wrox.com, имеется файл SQL, который нит таблицу тестовыми данными.
Создание виджета поиска по сайту
Функция поиска давно уже стала неотъемлемой частью любого сайта. Она дает возможность посетителям быстро отыскать необходимую ин¬формацию. Однако традиционные механизмы поиска страдают от того нее недостатка, что и Сеть в целом: они требуют полной перезагрузки страницы по окончании поиска с возможной потерей данных.
Реализация виджета поиска в Сети
Данный виджет очень прост в применении. Прежде всего необходимо загрузить на веб-сервер файл websearch. php (где, само собой разумеет¬ся, должен быть установлен РНР). Далее необходимо добавить в доку¬мент HTML ссылки на все компоненты виджета. Объект msnWebSearch использует в своей работе класс XParser, описанный в библиотеке zXml.
Оформление внешнего вида виджета поиска в Сети
Благодаря каскадным таблицам стилей внешний вид виджета можно легко привести в соответствие с оформлением существующего сайта.
Первый класс CSS, ajaxWebSearchBox, предназначен для оформления внешнего вида окна поиска. Окно должно позиционироваться на стра¬нице, поэтому в свойстве position класса должно быть значение absolute:
.ajaxWebSearchBox
Интерфейс к функции поиска
Последний метод объекта msnWebSearch - search(). Он реализует! фейс к функции поиска. Метод search() может быть вызван тию onclick элемента. Он принимает два аргумента - объект ev комую фразу:
msnWebSearch.search = function (е, sSearchTerm) {. var divSearchBox = this.drawResultBox(e); var url = encodeURI("websearch.php?search=" + sSearchTerm);
var oParser = new XParser(url); -oParser.onload = function () {
msnWebSea rch.populateResults(divSearchBox.childNodes[1],oPar