Пример ASP в AJAX
- Предыдущая страница AJAX PHP
- Следующая страница База данных AJAX
AJAX используется для создания более интерактивных приложений.
Пример ASP в AJAX
Ниже приведен пример: как веб-страница взаимодействует с веб-сервером при вводе символов в поле ввода:
Пример
Введите буквы A-Z в поле ввода ниже:
Имя:
Рекомендации по поиску:
Объяснение примера
В приведенном выше примере при вводе символов в поле ввода вызывается функция с именем "showHint()".
Эта функция вызывается событием onkeyup.
Ниже приведен код HTML:
Пример
<html> <head> <script> function showHint(str) { if (str.length == 0) { document.getElementById("txtHint").innerHTML = ""; return; } var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("txtHint").innerHTML = this.responseText; } }; xmlhttp.open("GET", "gethint.asp?q=" + str, true); xmlhttp.send(); } } </script> </head> <body> <p><b>Введите буквы A-Z в поле ввода ниже:</b></p> <form> Имя:<input type="text" onkeyup="showHint(this.value)"> </form> <p>Рекомендации по поиску:<span id="txtHint"></span></p> </body> </html>
Комментарий к коду:
Сначала проверьте, пусто ли поле ввода (str.length == 0
);Если да, то очистите содержимое占位ника txtHint и выйдите из функции.
Но если поле ввода не пусто, то выполняется следующее:
- Создайте объект XMLHttpRequest
- Создайте функцию, которая будет выполняться, когда сервер готов ответить
- Отправьте запрос на ASP-файл на сервере (gethint.asp)
- Обратите внимание на добавление параметра q в gethint.asp
- Строка переменной сохраняет содержимое поля ввода
ASP-файл - "gethint.asp"
Этот ASP-файл проверяет массив имен и возвращает соответствующие имена браузеру:
<% response.expires=-1 dim a(32) Заполните массив именами a(1)="Ава" a(2)="Бриелль" a(3)="Каролайн" a(4)="Дيانна" a(5)="Элиз" a(6)="Фиона" a(7)="Грейс" a(8)="Ханна" a(9)="Иleana" a(10)="Дженни" a(11)="Кэтрин" a(12)="Лора" a(13)="Милли" a(14)="Нанси" a(15)="Опал" a(16)="Петти" a(17)="Куинни" a(18)="Роз" a(19)="Ширли" a(20)="Тиффани" a(21)="Урсула" a(22)="Виктория" a(23)="Венди" a(24)="Xenia" a(25)="Yvette" a(26)="Zoe" a(27)="Angell" a(28)="Adele" a(29)="Beatty" a(30)="Carlton" a(31)="Elisabeth" a(32)="Violet" Получить параметр q из URL q=ucase(request.querystring("q")) Просмотреть все hint в массиве, длина q больше 0 if len(q)>0 then hint="" for i=1 to 30 if q=ucase(mid(a(i),1,len(q))) then if hint="" then hint=a(i) else hint=hint & " , " & a(i) end if end if next end if Если не найден hint, вывести "no suggestion", или вывести правильное значение if hint="" then response.write("no suggestion") else response.write(hint) end if %>
- Предыдущая страница AJAX PHP
- Следующая страница База данных AJAX