2.1 Разработка клиентской части
2. 1 Разработка клиентской части Клиентская часть приложения реализована в виде примера №2, при выполнении которого создается Web-страница, содержащая заголовок (" Тестирование" ), кнопки " СТАРТ" и " ОТВЕТ", а также поле для помещения тестов (тег < div... />. CSS свойства кнопок " Начать тестирование" и " Указать ответ" задаются из файла " lab. css" , который подклюяается к HTML-файлу данного примера (см. раздел 2 лаб. раб. №7). Оглавление Пример 2 < html> Оглавление Пример №2 начинает свою работу с создания объекта xhr, реализующего механизм AJAX. Это делается с помощью конструктора XMLHttpRequest() без использования альтернативного варианта в виде конструктора ActiveXObject(" Microsoft. XMLHTTP" ), как это было выполнено в примере №1. Кроме того, с целью уменьшения объема скрипта не были использованы средства отладки и диагностики. При необходимости все эти программные стредства могут быть добавлены в код.
· с помощью метода prompt() объекта window принимает имя тестируемого пользователя и заносит его в переменную name (в данной работе имя пользователя задается в виде его фамилии и инициалов, например, Петров А. А. ); · если имя не задано – предлагает пользователю его ввести; · если имя задано: § с помощью метода open() объекта xhr формирует запрос к серверному скрипту по адресу " http: //. . . /Python/testing. py" с указанием метода " GET" и передаваемых клиентом данных – случайного числа, генерируемого методом random() объекта Math, и имени пользователя. Случайное число при передаче данных на сервер необходимо для того, чтобы браузер всегда получал ответ не из кэш-памяти, а непосредственно от сервера; § с помощью метода send() объекта xhr передает серверу указанные данные; Затем с помощью обработчика события onerror() объекта xhr проверяется, не возникла ли ошибка при обмене данными между клиентом и сервером. Если ошибка возникла – клиенту выдается соответствующее сообщение и тестирование завершается. · если тестирование не завершено – очередной тест (разработку тестов см. в подразделе 2. 2. 1); · после завершения тестирования – его результаты. Когда сервер передает тест, пользователь формирует ответ на этот тест в виде трех двоичных цифр ( см. подраздел 2. 2. 1) и нажимает кнопку " Указать ответ". При этом по событию onclick происходит вызов функции submit2(), которая:
· с помощью метода prompt() принимает от тестируемого ответ и заносит его в переменную answer; · если ответ не задан – предлагает пользователю его ввести; · в случае успешного занесения ответа, выполняются те же действия, что и при выполнении функции submit1() – только вместо передачи имени (переменная name), передается ответ тестируемого (переменная answer). Если сервер передал вместо очередного теста результаты тестирования, то это обозначает, что процесс тестирования завершен. Чтобы выполнить тестирование нового пользователя или протестировать текущего пользователя еще раз, необходимо нажать кнопку " Начать тестирование". Оглавление 2. 2 Разработка серверной части
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|