아주 간단 한 Ajax 요청 인 스 턴 스 원본 코드
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Ajax </title>
<script type="text/javascript">
var xmlHttp;
// XMLHttpRequest
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
// url
function createQueryString() {
var name = document.getElementById("txtName").value;
var sex = document.getElementById("txtSex").value;
var birthday = document.getElementById("txtBirthday").value;
var queryString = "Name=" + encodeURIComponent(name) + "&Sex=" + encodeURIComponent(sex) + "&Birthday=" + encodeURIComponent(birthday);
return queryString;
}
// Get
function doRequestUsingGET() {
createXMLHttpRequest();
var queryString = "AjaxServer.ashx?";
queryString = queryString + createQueryString() + "&timeStamp=" + new Date().getTime();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", queryString, true);
xmlHttp.send(null);
}
// POST
function doRequestUsingPOST() {
createXMLHttpRequest();
var url = "AjaxServer.ashx?timeStamp=" + new Date().getTime();
var queryString = createQueryString();
xmlHttp.open("POST", url, true);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
xmlHttp.send(queryString);
}
//
function handleStateChange() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
parseResults();
}
}
}
//
function parseResults() {
var responseDiv = document.getElementById("serverResponse");
if (responseDiv.hasChildNodes()) {
responseDiv.removeChild(responseDiv.childNodes[0]);
}
var responseText = document.createTextNode(xmlHttp.responseText);
responseDiv.appendChild(responseText);
}
</script>
</head>
<body>
<form action="#">
<h2> , , :</h2>
<table>
<tr><td> :</td><td><input type="text" id="txtName" /></td></tr>
<tr><td> :</td><td><input type="text" id="txtSex" /></td></tr>
<tr><td> :</td><td><input type="text" id="txtBirthday" /></td>
</tr>
</table>
<input type="button" value=" Get " onclick="doRequestUsingGET();"/>
<br /><br />
<input type="button" value=" POST " onclick="doRequestUsingPOST();"/>
</form>
<br />
<h3> :</h3>
<div id="serverResponse"></div>
</body>
</html>
다음은 각 JS 함수 의 기능 을 상세 하 게 설명 한다.createXMLHttpRequest()는 XMLHttpRequest 대상 을 만 드 는 데 사 용 됩 니 다.
IE 는 XML HttpRequest 를 ActiveX 대상 으로 구현 하고,다른 브 라 우 저(FF/safari/Opera)는 이 를 로 컬 자 바스 크 립 트 대상 으로 구현 하기 때문이다.이러한 차이 가 존재 하기 때문에 자 바스 크 립 트 코드 에는 관련 논리 가 포함 되 어야 합 니 다.
createQueryString()은 매개 변 수 를 정리 하 는 데 사용 되 며,Ajax 가 요청 한 매개 변 수 를 일정한 형식 으로 정리 합 니 다.
중국어 나 비 ASCII 문 자 를 전달 하려 면 URL 인 코딩 을 해 야 합 니 다.이 예 는 JS 의 encodeURIComponent()함수 로 매개 변수 URL 인 코딩 을 합 니 다.
doRequestUsingGET()는 HTTP GET 방식 으로 서버 에 요청 을 보 내 고 인 자 를 전달 합 니 다.
XML HttpRequest 대상 의 open()방법 은 보 낼 요청 을 지정 합 니 다.open()방법 은 세 개의 인 자 를 가 져 옵 니 다.하 나 는 사용 하 는 방법(보통 GET 나 POST)을 표시 하 는 문자열 입 니 다.하 나 는 대상 자원 URL 을 나타 내 는 문자열 입 니 다.하 나 는 Boolean 값 입 니 다.비동기 인지 아 닌 지 를 요청 할 뿐 입 니 다.
GET 요청 시 전 달 된 인 자 를 open 방법의 url 인자 에 기록 합 니 다.이때 send 방법의 인 자 는 null 입 니 다.
어떤 경우,일부 브 라 우 저 는 여러 개의 XML HttpRequest 가 요청 한 결 과 를 같은 URL 에 캐 시 합 니 다.요청 마다 응답 이 다 르 면 좋 지 않 은 결 과 를 가 져 올 수 있 습 니 다.현재 시간 스탬프 를 URL 의 마지막 에 추가 하면 URL 의 유일 성 을 확보 하여 브 라 우 저 캐 시 결 과 를 피 할 수 있 습 니 다.
이 서버 엔 드 코드 는 asp.net(c\#)을 사용 합 니 다.
doRequestUsingPOST()는 HTTP POST 방식 으로 서버 에 요청 을 보 내 고 인 자 를 전달 합 니 다.
open()에서 지정 한 방법 이 POST 인지 확인 하려 면 Content-Type 헤더 정 보 를 설정 하고 HTTP POST 방법 을 모 의 하여 폼 을 보 내야 서버 가 업로드 한 내용 을 어떻게 처리 하 는 지 알 수 있 습 니 다.헤드 정 보 를 설정 하기 전에 오픈 방법 을 사용 해 야 합 니 다.
send 방법 으로 파 라 메 터 를 전달 해 야 합 니 다.인자 의 제출 형식 은 GET 방법 에서 url 의 쓰기 와 같 습 니 다.
handleStateChange() Ajax 리 턴 함수.
XML HttpRequest 대상 에 대해 onreadystatechange 속성 은 리 셋 함수 의 지침 을 저장 합 니 다.XML HttpRequest 대상 의 내부 상태 가 변 하면 이 리 셋 함 수 를 호출 합 니 다.
parseResults()처리 응답 결과.
이상 은 아주 간단 한 Ajax 요청 인 스 턴 스 입 니 다.여러분 의 학습 을 환영 합 니 다.다운로드Ajax 요청 인 스 턴 스
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Javascript Ajax에 대한 간단한 연습저는 약 4년 동안 프로그래밍 개인 튜터로 일한 경험이 있습니다. 약 5년 전에 " "이라는 제목의 페르시아어로 내 웹사이트에 블로그 게시물을 올렸고 사람들이 저에게 전화하기 시작했습니다. 나는 항상 사람들을 가르치...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.