에이잭스 ASP



AJAX는 보다 대화형 애플리케이션을 만드는 데 사용됩니다.


AJAX ASP 예제

다음 예제에서는 사용자가 입력 상자에 문자를 입력할 때 웹 페이지가 웹 서버와 통신하는 방법을 보여줍니다.

아래 입력 필드에 이름을 입력하기 시작합니다.

제안:



예시 설명 - HTML 페이지

사용자가 위의 입력 상자에 문자를 입력하면 "showHint()" 함수가 실행됩니다. 이 함수는 "onkeyup" 이벤트에 의해 트리거됩니다:

<!DOCTYPE html>
<html>
<head>
<script>
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
반품;
}
if(window.XMLHttpRequest)
{// IE7+, Firefox, Chrome, Opera, Safari용 코드
xmlhttp=새로운 XMLHttpRequest();
}
else
{// 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>아래 입력 필드에 이름을 입력하세요:</b></p>
<form>
이름: <input type="text" onkeyup="showHint (this.value)" size="20">
</form>
<p>제안사항: <span id="txtHint"></span></p>

< /body>
</html>

소스 코드 설명:

입력 상자가 비어 있는 경우(str.length==0) 이 함수는 txtHint 자리 표시자의 내용을 지우고 함수를 종료합니다.

입력 상자가 비어 있지 않으면 showHint()는 다음 단계를 수행합니다.

  • XMLHttpRequest 객체 생성

  • 서버 응답이 준비되면 실행되는 함수 생성

  • 요청 보내기 서버에 있는 파일로

  • URL(입력 상자의 내용 포함) 끝에 추가된 매개변수(q)에 주의하세요


ASP 파일

JavaScript를 통해 호출되는 서버 페이지 위의 이름은 "gethint.asp"라는 ASP 파일입니다.

"gehint.asp"의 소스 코드는 이름 배열을 확인하고 해당 이름을 브라우저에 반환합니다.

<%
response.expires=-1
dim a(30)
'이름으로 배열 채우기
a(1)="애나"
a(2)="브리타니"
a(3)="신데렐라"
a(4)="다이애나"
a(5)="에바"
a(6 ) ="피오나"
a(7)="군다"
a(8)="헤게"
a(9)="잉가"
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)="언니"
a(25)="바이올렛"
a(26)="리자"
a(27)="엘리자베스"
a(28)= " Ellen"
a(29)="Wenche"
a(30)="Vicky"

'URL에서 q 매개변수 가져오기
q=ucase(request.querystring("q"))

'다음에서 모든 힌트 검색 길이가 q>0인 경우 배열
if len(q)>0이면
​ 힌트=""
​ i=1부터 30까지
​​ q=ucase(mid(a(i),1,len(q)))이면
                        힌트=""이면
                                  힌트=a(i)
                          그 외
                                  힌트=힌트 & " , " & a(i)
                        종료
​​ 종료
​ next
end if

'힌트가 없으면 "제안 없음"을 출력
'하거나 올바른 값을 출력
if 힌트="" then
​ response.write("제안 없음")
else
​ response.write(힌트)
end if
%>

설명: JavaScript가 텍스트(예: strlen($q) > 0)를 보내는 경우 발생하는 상황은 다음과 같습니다.

  1. JavaScript에서 보낸 문자와 일치하는 이름을 찾습니다.

  2. 일치하는 항목이 없으면 응답 문자 문자열이 "제안 없음"으로 설정됨

  3. 일치하는 이름이 하나 이상 발견되면 모든 이름으로 응답 문자열을 설정합니다.

  4. 응답을 "txtHint" 자리 표시자에 보냅니다.