Contents

1 개요
2 지원 브라우져
3 서버에 요청하기
3.1 open() : init request
3.2 send() : send request
4 서버의 응답에 대한 처리
4.1 서버의 응답에 호출될(callback) 함수명을 지정
4.2 서버응답상태 체크
5 XMLHttpRequest 객체의 상태
6 응답 데이터 사용
7 한글 파라미터 문제 처리

1 개요 #

ajax에서 사용되는 비동기 통신을 구현하는 주요 객체

httpRequest.js - XMLHttpRequest 객체를 사용하는 ajax 공통 함수

XMLHttpRequest는 현재 표준은 아니지만 대부분의 브라우져에서 지원

2 지원 브라우져 #


MSIE 4.0

firefox 1.0

opera 7.6

safari 1.2

netscape 7.0

이상에서 지원


3 서버에 요청하기 #

다음순서로 호출

3.1 open() : init request #

httpRequest.open(
   "GET" // or POST
 , "/test.jsp?a=bbb&c=ddd"
 , true  // is async ?
);

3.2 send() : send request #

// GET 방식(최대4K)
httpRequest.send(null);

// POST방식
httpRequest.send("a=bbb&c=ddd");




4 서버의 응답에 대한 처리 #

4.1 서버의 응답에 호출될(callback) 함수명을 지정 #

httpRequest.onreadystatechange = readyStateChangeEventHandler;
httpRequest.open(...);
httpRequest.send(...);

function readyStateChangeEventHandler()
{
.....
}

4.2 서버응답상태 체크 #

if(httpRequest.status==200){
  // ....
}

5 XMLHttpRequest 객체의 상태 #

0UNINITIALIZED객체만 생성됨, 미초기화된상태(open()호출이 안된상태)
1LOADINGopen()호출후 send()호출전
2LOADEDsend()호출후 아직 status와 header 도착전
3INTERACTIVE데이터일부받은상태
4COMPLETE데이터전부받은상태


6 응답 데이터 사용 #

alert(httpReq.responseText);

var retXML = httpReq.responseXML;




7 한글 파라미터 문제 처리 #

encodeURIComponent("한글파람");
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-08-27 17:32:32
Processing time 0.0123 sec