RIA 시대가 도래하기 전에는 xmlhttp가 B/S 프로그램이 모든 작업에 대해 페이지를 새로 고치는 수고를 덜어주는 가장 좋은 방법이기도 했습니다
. 문장.
그러나 대부분의 xmlhttp 애플리케이션은 URL에 몇 가지 변수를 전달하기 위해 Get 메서드만 사용합니다. 실제로 대용량 데이터를 담고 있는 Form이라 하더라도
Javascript로 살짝만 캡슐화만 하면 xmlhttp만 사용하면 간단하게 제출할 수 있어 사용자가 정말 편안함을 느낄 수 있고, 페이지 자체는 새로 고칠 필요가 없습니다
. 사용자 인터페이스를 새로 고치지 마세요.
클라이언트:
function xmlhttp_submit(form_object,url)
for i = 0 to form_object.elements.length-1
set elem = form_object.elements(i)
form_value=form_value & URLEncoding (elem.name) & "=" & URLEncoding(elem.value) &"&"
다음
set xmlhttp = CreateObject("Microsoft.XMLHTTP")
xmlhttp.open "POST",url , false
xmlhttp.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
xmlhttp.send(form_value)
end function
위 코드는 폼 객체를 순회하고, 어셈블합니다. form_value 문자열을 입력한 다음 send() 메서드를 통해 POST 모드(길이 제한 없음)로 서버에 보냅니다.
또 다른 고전적인 중국어 인코딩 문제입니다. 변수 값 문자열을 UTF-8 형식으로 인코딩하려면 추가 URLEncoding 함수를 추가해야 합니다. 따라서 form_submit()을 작성하려면 익숙하지 않은
VBScript를 사용해야 합니다.
함수 URLEncoding(vstrIn)
strReturn = ""
For i = 1 To Len(vstrIn)
ThisChr = Mid(vStrIn,i,1)
If Abs(Asc(ThisChr) ) strReturn = strReturn & ThisChrElse innerCode = Asc(ThisChr)
If innerCode innerCode = innerCode &H10000 End If
Hight8 = (내부 코드 And &HFF00 ) &HFF
Low8 = innerCode And &HFF
strReturn = strReturn & "%" & Hex(Hight8) & "%" & Hex(Low8)
End IfNext
URLEncoding = strReturn
End 기능
서버측
특별히 해야 할 일은 없고 평소대로 요청에 응답하면 됩니다.