ASP - AJAX og ASP

AJAX bruges til at skabe mere dynamiske applikationer.

AJAX ASP-eksempel

Følgende eksempel viser, hvordan en webside kommunikerer med en server, når brugeren indtaster tegn i inputfeltet:

Eksempel

Indtast venligst bogstaver (A - Z) i inputfeltet nedenfor:

Navn:

Anbefaling:

Prøv det selv med kildekoden

Eksempel forklaring - HTML-side

Når brugeren indtaster tegn i inputfeltet ovenfor, udføres "showHint()"-funktionen. Denne funktion udløses af "onkeyup"-events:






请在输入框中输入英文字符:

First name:

Suggestions:

Kildekodesforklaring:

如果输入框是空的(str.length==0),该函数会清空占位符 txtHint 的内容,并推出该函数。

如果输入框不是空的,那么 showHint() 会执行以下步骤:

  • 创建 XMLHttpRequest 对象
  • 创建在服务器响应就绪时执行的函数
  • 向服务器上的文件发送请求
  • 请注意添加到 URL 末端的参数(q)(包含输入框的内容)

ASP 文件

上面这段 JavaScript 调用的服务器页面是名为 "gethint.asp" 的 ASP 文件。

"gethint.asp"'s kildekode vil kontrollere navnearrayet og derefter returnere de tilsvarende navne til browseren:

<%
response.expires=-1
dim a(30)
'Fyld arrayet med navne
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"
'Få parameter q fra URL'en
q=ucase(request.querystring("q"))
'Hvis længden af q er større end 0, søges der efter alle hints i arrayet
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
'Hvis der ikke findes nogen hint, vises "no suggestion"
'eller output de korrekte værdier
if hint="" then
  response.write("no suggestion")
else
  response.write(hint)
end if
%>

Kildekodesforklaring:

Hvis JavaScript sender nogen tekst (dvs. strlen($q) er større end 0), vil følgende ske:

  • Find matchende navne fra JavaScript
  • Hvis der ikke findes nogen match, sæt responsstrengen til "no suggestion"
  • Hvis en eller flere matchende navne findes, sæt responsstrengen til alle navne
  • Send responsen til placeholder "txtHint"