Ajax 초석 중 하나: XML HttpRequest - > XML HttpRequest 고전 예 (코드 는 Ajax in Action 에서 나 온 것)
2899 단어 JavaScriptAjax브 라 우 저IESafari
<!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 를 들 었 습 니 다. 이 요청 을 자바 스 크 립 트 엔진 스 레 드 대기 열 마지막 에 놓 고 자바 스 크 립 트 엔진 스 레 드 가 실 행 될 때 까지 기 다 립 니 다. 자바 스 크 립 트 엔진 은 항상 단일 스 레 드 로 실 행 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.