Ajax 초석 중 하나: XML HttpRequest - > XML HttpRequest 고전 예 (코드 는 Ajax in Action 에서 나 온 것)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- XML                  -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>XML                 </title>
</head>
<script>
var req = null;
var console = null;
var READY_STATE_UNINITIALIZED = 0;
var READY_STATE_LOADING = 1;
var READY_STATE_LOADED = 2;
var READY_STATE_INTERACTIVE = 3;
var READY_STATE_COMPLETE = 4;

function sendRequest(url, param, HttpMethod) {
	if (!HttpMethod) {
		HttpMethod = "GET";
	}
	req = initXMLHTTPRequest();
	if (req) {
		req.onreadystatechagnge = onReadyState;
		req.open(HttpMethod, url, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send(param);
	}
}
function initXMLHTTPRequest() {
	var xRequest = null;
	if (window.XMLHttpRequset) {
		xRequest = new XMLHttpRequest();	//Mozilla/Safari
	} else if (typeof ActiveXObject != "undefined") {
		xRequest = new ActiveXObject("Microsoft.XMLHTTP");	//IE
	}
	return xRequest;
}
function onReadyState() {	//      
	var ready = req.readyState;
	var data = null;
	if (ready == READY_STATE_COMPLETE) {	//  readyState
		data = req.responseText;	//      
	} else {
		data = "loading ... [" + ready + "]";
	}
	toConsole(data);
}
function toConsole(data) {
	if (console != null) {
		var newline = document.createElement("div");
		console.appendChild(newline);
		var txt = document.createTextNode(data);
		newline.appendChild(txt);
	}
}
window.onload  = function () {
	console = document.getElementById('console');
	sendRequest("data.txt");

}
</script>
<body>

</body>
</html>

브 라 우 저 마다 실행 결과 가 다 릅 니 다.
IE:
loading ... [1]
loading ... [1]
loading ... [3]
Here is some text from the server!
Firefox 1.0
loading ... [1]
loading ... [1]
loading ... [2]
loading ... [3]
코드 에서 XML 기술 의 비동기 로 데 이 터 를 불 러 오 는 방식 을 볼 수 있 습 니 다.
XML HttpRequest 를 통 해 서버 에 요청 을 보 냅 니 다. 이 요청 은 브 라 우 저 에서 Http 비동기 요청 스 레 드 를 추가 로 열 어 처리 합 니 다.동시에 리 셋 함 수 를 정 의 했 습 니 다. 이 함 수 는 이벤트 가 촉발 하 는 함수 에 해당 합 니 다. 함수 가 촉발 하 는 조건 은 웹 서버 가 이 요청 에 대해 response 를 되 돌려 주 는 것 입 니 다.브 라 우 저 에서 XML HttpRequest 의 스 레 드 를 보 내 이 response 를 들 었 습 니 다. 이 요청 을 자바 스 크 립 트 엔진 스 레 드 대기 열 마지막 에 놓 고 자바 스 크 립 트 엔진 스 레 드 가 실 행 될 때 까지 기 다 립 니 다. 자바 스 크 립 트 엔진 은 항상 단일 스 레 드 로 실 행 됩 니 다.

좋은 웹페이지 즐겨찾기