AJAX-XMLHttpRequest

XMLHttpRequest 객체는 AJAX의 핵심입니다. 2000 년 7 월 Internet Explorer 5.5가 출시 된 이후로 사용 가능했지만 2005 년 AJAX 및 Web 2.0이 대중화 될 때까지 완전히 발견되지 않았습니다.

XMLHttpRequest (XHR)는 JavaScript, JScript, VBScript 및 기타 웹 브라우저 스크립팅 언어에서 HTTP를 사용하여 웹 서버와 XML 데이터를 전송하고 조작하는 데 사용할 수있는 API로, 웹 페이지의 클라이언트 측과 서버 측.

XMLHttpRequest 호출에서 반환 된 데이터는 종종 백엔드 데이터베이스에서 제공됩니다. XML 외에도 XMLHttpRequest를 사용하여 JSON 또는 일반 텍스트와 같은 다른 형식의 데이터를 가져올 수 있습니다.

XMLHttpRequest 객체를 만드는 방법에 대한 몇 가지 예를 이미 보았습니다.

다음은 익숙해 져야하는 몇 가지 메서드와 속성입니다.

XMLHttpRequest 메서드

  • abort()

    현재 요청을 취소합니다.

  • getAllResponseHeaders()

    전체 HTTP 헤더 집합을 문자열로 반환합니다.

  • getResponseHeader( headerName )

    지정된 HTTP 헤더의 값을 반환합니다.

  • open( method, URL )

  • open( method, URL, async )

  • open( method, URL, async, userName )

  • open( method, URL, async, userName, password )

    요청의 메서드, URL 및 기타 선택적 속성을 지정합니다.

    메소드 매개 변수는 "GET", "POST"또는 "HEAD"값을 가질 수 있습니다. "PUT"및 "DELETE"(주로 REST 애플리케이션에서 사용됨)와 같은 다른 HTTP 메소드가 가능할 수 있습니다.

    "async"매개 변수는 요청을 비동기 적으로 처리해야하는지 여부를 지정합니다. "true"는 스크립트 처리가 응답을 기다리지 않고 send () 메소드 이후에 수행됨을 의미하고 "false"는 스크립트 처리를 계속하기 전에 스크립트가 응답을 기다림을 의미합니다.

  • send( content )

    요청을 보냅니다.

  • setRequestHeader( label, value )

    보낼 HTTP 헤더에 레이블 / 값 쌍을 추가합니다.

XMLHttpRequest 속성

  • onreadystatechange

    모든 상태 변경시 발생하는 이벤트에 대한 이벤트 처리기입니다.

  • readyState

    readyState 속성은 XMLHttpRequest 객체의 현재 상태를 정의합니다.

    다음 표는 readyState 속성에 대해 가능한 값 목록을 제공합니다-

상태 기술
0 요청이 초기화되지 않았습니다.
1 요청이 설정되었습니다.
2 요청이 전송되었습니다.
요청이 처리 중입니다.
4 요청이 완료되었습니다.

readyState = 0 XMLHttpRequest 객체를 만든 후 open () 메서드를 호출하기 전입니다.

readyState = 1 open () 메서드를 호출 한 후 send ()를 호출하기 전에.

readyState = 2 send ()를 호출 한 후.

readyState = 3 브라우저가 서버와 통신을 설정 한 후 서버가 응답을 완료하기 전입니다.

readyState = 4 요청이 완료되고 응답 데이터가 서버에서 완전히 수신 된 후.

  • responseText

    응답을 문자열로 반환합니다.

  • responseXML

    응답을 XML로 반환합니다. 이 속성은 W3C DOM 노드 트리 메서드 및 속성을 사용하여 검사하고 구문 분석 할 수있는 XML 문서 개체를 반환합니다.

  • status

    상태를 숫자로 반환합니다 (예 : "찾을 수 없음"의 경우 404, "확인"의 경우 200).

  • statusText

    상태를 문자열로 반환합니다 (예 : "Not Found"또는 "OK").