Latest web development tutorials

ASP - AJAX и ASP

AJAX используется для создания более интерактивных приложений.


Примеры AJAX ASP

Следующие примеры демонстрируют, когда пользователь вводит в поле ввода символов, как веб-страниц обмениваться данными с веб-сервером:

примеров

Start typing a name in the input field below:

First name:

Suggestions:



Примеры объяснить - HTML-страницы

Когда пользователь в приведенном выше поле ввода символа выполняет ") showHint (" функцию. Эта функция состоит из "OnKeyUp" Trigger Event:

<!DOCTYPE html>
<html>
<head>
<script>
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","gethint.asp?q="+str,true);
xmlhttp.send();
}
</script>
</head
<body>

<p><b>Start typing a name in the input field below:</b></p>
<form>
First name: <input type="text" onkeyup="showHint(this.value)" size="20">
</form>
<p>Suggestions: <span id="txtHint"></span></p>

</body>
</html>

Источник пояснил:

Если поле ввода пусто (str.length == 0), то эта функция очистит txtHint заполнитель контента, а также выйти из функции.

Если поле ввода не является пустым, то showHint () выполняет следующие действия:

  • Создание объекта XMLHttpRequest
  • Создать функцию, когда сервер готов к выполнению ответ
  • Файл на сервере, чтобы посылать запросы
  • Обратите внимание, что добавление к (содержит поле для ввода) конец параметра URL (Q)

ASP-файл

Вышеуказанные серверы через JavaScript, призывающие эту страницу называется "gethint.asp" файлы ASP.

"Gethint.asp" исходный код проверяет массив имен, а затем вернулся в браузере соответствующее имя:

<%
response.expires=-1
dim a(30)
'Fill up array with names
a(1)="Anna"
a(2)="Brittany"
a(3)="Cinderella"
a(4)="Diana"
a(5)="Eva"
a(6)="Fiona"
a(7)="Gunda"
a(8)="Hege"
a(9)="Inga"
a(10)="Johanna"
a(11)="Kitty"
a(12)="Linda"
a(13)="Nina"
a(14)="Ophelia"
a(15)="Petunia"
a(16)="Amanda"
a(17)="Raquel"
a(18)="Cindy"
a(19)="Doris"
a(20)="Eve"
a(21)="Evita"
a(22)="Sunniva"
a(23)="Tove"
a(24)="Unni"
a(25)="Violet"
a(26)="Liza"
a(27)="Elizabeth"
a(28)="Ellen"
a(29)="Wenche"
a(30)="Vicky"

'get the q parameter from URL
q=ucase(request.querystring("q"))

'lookup all hints from array if length of 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

'Output "no suggestion" if no hint were found
'or output the correct values
if hint="" then
response.write("no suggestion")
else
response.write(hint)
end if
%>

Объяснение: Если JavaScript отправить любой текст (т.е. STRLEN ($ Q)> 0), происходит:

  1. Найти соответствующие символы, чтобы отправить имена JavaScript
  2. Если совпадение не найдено, строка ответа установлен на "нет" предложению
  3. Если вы нашли один или более одинаковых имен, имена всех параметров со строкой ответа
  4. Отправка ответа на заполнитель "txtHint"