최신 웹 개발 튜토리얼
 

AJAX - 인 onreadystatechange 이벤트


인 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);
  }
»그것을 자신을 시도