English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

AJAX - XMLHttpRequest 객체

XMLHttpRequest 객체는 서버와 데이터를 교환하는 데 사용됩니다.

XMLHttpRequest 객체

모든 최신 브라우저(Chrome, Firefox, IE7 +Edge, Safari, Opera와 같은 모든 최신 브라우저는 내장된 XMLHttpRequest 객체를 가지고 있습니다.

XMLHttpRequest는 백그라운드 웹 서버와 데이터를 교환하여 웹 페이지를 동기적으로 업데이트할 수 있게 합니다.

전체 페이지를 새로 고침하지 않고도 URL에서 데이터를 검색할 수 있습니다.

이는 웹 페이지가 사용자의 작업을 방해하지 않고 페이지의 일부를 업데이트할 수 있게 합니다.

XMLHttpRequest 객체 생성

XMLHttpRequest 객체를 생성하기 전에, 클라이언트와 서버 간에 AJAX 통신을 수행하기 전에 먼저 해야 할 것은 다음과 같습니다:

구문:

var request = new XMLHttpRequest();
var httpRequest = new XMLHttpRequest();
테스트해 보세요‹/›

크로스 사이트 XMLHttpRequest

보안 이유로, 현대 브라우저는 다중 도메인 접근을 허용하지 않습니다.

이는 웹 페이지와 그가 로드하려는 요청 파일이 동일한 서버에 위치해야 한다는 것을 의미합니다.

oldtoolbag.com에 있는 예제는 oldtoolbag.com 도메인에 있는 모든 열린 요청 파일.

위의 예제를 자신의 웹 페이지 중 하나에 사용하려면, 요청 파일은 자신의 서버에 위치해야 합니다.

오래된 브라우저(IE에 적용됨 6및 이전 버전)

Internet Explorer의古いバージョン(6및 이전 버전은 ActiveX 객체 대신 XMLHttpRequest 객체를 사용합니다.

구문:
var request = new ActiveXObject("Microsoft.XMLHTTP");

IE를 처리하려면6및 이전 버전에서는 XMLHTTPRequest 객체를 지원하지 않는지 확인해야 합니다. 그렇지 않으면 ActiveX 객체를 생성하십시오:

var httpRequest;
if (window.XMLHttpRequest) {
    // 현재 주요 브라우저(Chrome, Mozilla, Safari, IE7+, ...)
    httpRequest = new XMLHttpRequest();
else if (window.ActiveXObject) {
    // <= IE 6 또는 이전 IE 버전
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
테스트해 보세요‹/›

XMLHttpRequest 객체 속성

다음 표는 XMLHttpRequest 객체의 모든 속성을 나열합니다:

속성설명
onreadystatechangereadyState 속성이 변경될 때 호출할 함수 정의
readyStateXMLHttpRequest 상태 유지
0:요청 초기화되지 않음
1:서버 연결 설정
2:요청 수신
3:요청 처리
4:요청 완료하고 응답 준비 완료
responseText문자열로 응답 데이터 반환
responseXML응답 데이터를 XML 데이터로 반환
status요청 상태 번호 반환:
200:“OK”
403:“Forbidden”
404:“Not Found”
완전한 목록에 대해 방문하십시오HTTP 상태 코드 참조
statusText상태 텍스트 반환(예:“OK” 또는 “Not Found”)

XMLHttpRequest 객체 메서드

다음 표는 XMLHttpRequest 객체의 모든 메서드를 나열합니다:

메서드설명
new XMLHttpRequest()새 XMLHttpRequest 객체 생성
abort()현재 요청 취소
getAllResponseHeaders()제목 정보 반환
getResponseHeader()특정 헤더 정보 반환
open(method, url, async)요청 지정
method:요청 타입GET또는POST
url:파일 위치
async:true(비동기) 또는 false(동기)
send()요청을 보내기
용도GET요청 서버
send(string)서버로 요청을 보내기
용도POST요청
setRequestHeader(header, value)HTTP 헤더를 요청으로 설정
header:지정된 헤더 이름
value:지정된 헤더 값