인 onreadystatechange 이벤트
서버로 요청이 전송 될 때, 우리는 응답에 기초하여 몇 가지 작업을 수행 할 수 있습니다.
인 onreadystatechange 이벤트마다에게 readyState의 변화를 트리거됩니다.
readyState의 속성은 XMLHttpRequest의 상태를 보유하고있다.
XMLHttpRequest 객체의 세 가지 중요한 특성 :
재산 | 기술 |
---|---|
onreadystatechange | 저장 함수 (또는 함수의 이름)마다 자동으로 호출 할 수있는 readyState의 속성이 변경 |
readyState | 는 XMLHttpRequest의 상태를 보유하고있다. 0 4에서 변경 : 0 : 초기화되지 요청할 1 : 서버 연결이 설정 2 : 요청이 접수 3 : 처리 요청 4 : 완성 된 요청과 응답이 준비 |
status | 200 : "OK" 404 : 페이지를 찾을 수 없습니다 |
onreadystatechange의 경우에, 우리는 서버 응답을 처리 할 준비가되면 어떻게 될지를 지정.
readyState가 4 인 상태 (200) 인 경우, 응답이 준비
예
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
»그것을 자신을 시도 참고 : 인 onreadystatechange 이벤트가 다섯 번 (0-4), readyState의 각 변화에 대한 한 번 실행됩니다.
콜백 함수를 사용하여
콜백 함수는 다른 함수에 매개 변수로 전달하는 기능입니다.
당신이 당신의 웹 사이트에 둘 이상의 AJAX 작업이있는 경우, 당신은 XMLHttpRequest 객체를 생성하기위한 하나의 표준 함수를 작성하고, 각 AJAX 작업이를 호출해야합니다.
함수 호출은 URL 무엇 (각 통화에 대해 아마 다른) 인 onreadystatechange에 할를 포함해야합니다 :
예
function loadDoc(cFunc) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
cFunc(xhttp);
}
»그것을 자신을 시도