Серверный JavaScript 1.4. Руководство по использованию

       

Взятие Клипа Напрокат


Страница pick.htm содержит набор фрэймов, где пользователь может взять клип напрокат. Набор фрэймов состоит из страниц category.htm, videos.htm и pickmenu.htm.

Страница category.htm запрашивает в БД список известных категорий клипов. Затем выводит эти категории в виде списка ссылок в таблице левого фрэйма. Если пользователь щёлкает на одной из ссылок, videoapp выводит video.htm в правом фрэйме. Есть несколько интересных моментов, касающихся серверного кода, выполняющего эти задачи. На странице Вы можете найти такие строки:

var userId = unscramble(client.userId)

var bucket = project.sharedConnections.connections[userId]
var connection = bucket.connection

Эти операторы имеются на большинстве страниц videoapp. Они запрашивают соединение из того места, где оно хранится в объекте project. Следующая строка получает новый курсор, применимый для данной задачи:

cursor = connection.cursor("select * from categories");

Вариант этого оператора имеется в начале большинства задач.

Вот следующий интересный набор операторов:

<SERVER>
...
while (cursor.next()) {

   catstr = escape(cursor.category)
</SERVER>

<TR><TD><A HREF=`"videos.htm?category=" + catstr` TARGET="myright">
<SERVER>write(cursor.category);</SERVER></A>

</TD>
</TR>
<SERVER>} // окончание цикла while

Этот цикл создаёт в курсоре ссылку для каждой категории. Обратите особое внимание на оператор:

<A HREF=`"videos.htm?category=" + catstr` TARGET="myright">

Эта строка создаёт ссылку на videos.htm. Она содержит в URL имя категории. Предположим, это категория Comedy. Оператор создаёт такую ссылку:

<A HREF="videos.htm?category=Comedy" TARGET="myright">

Когда пользователь щёлкает на ссылке, сервер переходит на страницу videos.htm и устанавливает значение свойства category

объекта request в Comedy.

Страница videos.htm может обрабатываться из pick.htm или из category.htm. В первом случае свойство category не устанавливается, поэтому страница выводит сообщение, предлагающее пользователю выбрать категорию. Если category правильно установлено, videos.htm входит в БД для вывода информации обо всех клипах данной категории. Эта страница использует ту же технику, что и category.htm, для конструирования информации и создания ссылок на странице rent.htm.

Страница rent.htm фактически записывает взятые пользователем напрокат клипы. Она получает информацию из запроса и обновляет таблицу в БД для отражения новой аренды. Эта страница выполняет обновление, но не подтверждает изменения, пока пользователь не выберет Save Changes или Abort Changes.

Страница pickmenu.htm просто выводит кнопки для возврата на домашнюю страницу или на страницу для добавления нового потребителя.



Содержание раздела