티스토리 뷰
readyState 프로퍼티는 Ajax 요청의 현재 상태를 나타냅니다.
프로퍼티의 값은 숫자 입니다.
Ajax 기술의 핵심 객체(사실 이 객체만 생각해도 무방) 인 xmlhttp 가 가지는 property 인데 이 property 는 상태를 나타내는 프로퍼티이고 간단히 숫자로 현재 xmlhttp 객체의 상태를 나타냅니다.
var xmlhttp = getXMLHTTP () ; --> readyState = 0
xmlhttp.open("get","test.html",true) ; --> readyState = 1
xmlhttp.onreadystate = handlingFunction ;
xmlhttp.send(null) ;--> readyState = 2
XMLHTTP 의 상태가 변경되는 것에 따라서 핸들링을 다르게 할 수 있는데 흔히 ajax 에서 가장 기본적인 구성은 readyState 가 4인 경우, 즉 XMLHTTP 의 Request 가 Complete 되었을 경우 Function 을 실행하는 것이 기본입니다.
*예제
(1) var xmlHttp = createAjax(); //ajax 개체 생성
(2) xmlHttp.onreadystatechange = function; //readyState의 속성이 바뀔경우 function()을 호출한다.
(3) xmlHttp.open("get", "test_xml.xml"); // 첫번째인수로 GET, POST, OPTIONS, HEAD, PUT, DELETE, TRACE, CONNECT 방식을 지정할수 있지만, 보통 GET, POST를 쓴다. 일반적으로 서버에 전송할 경우 POST, 서버에 자료를 요청할 경우는 GET 방식을 사용한다.
(4) xmlHttp.send(""); //요청실행
(2) xmlHttp.onreadystatechange = function; //readyState의 속성이 바뀔경우 function()을 호출한다.
(3) xmlHttp.open("get", "test_xml.xml"); // 첫번째인수로 GET, POST, OPTIONS, HEAD, PUT, DELETE, TRACE, CONNECT 방식을 지정할수 있지만, 보통 GET, POST를 쓴다. 일반적으로 서버에 전송할 경우 POST, 서버에 자료를 요청할 경우는 GET 방식을 사용한다.
(4) xmlHttp.send(""); //요청실행
readyState 속성이 바뀔경우 onreadystatechange=function 에 의해서 function() 함수가 실행된다.
즉 readyState == 4 가 되어야 응답을 받은 것이 된다.
또 한가지 속성 status, HTTP 응답이 정상인지를 표시한다.
200, 403, 404, 500값을 가진다.
200 - 서버가 정상으로 존재하고, 문제없이 응답을 받았을 경우,
403 - 접근을 거부당한 경우,
404 - 파일이 없을경우( 위 예에서는 xml.xml 파일이 존재하지 않을경우 ),
500 - 서버에 오류가 발생했을 경우,
즉, xmlHttp.readyState == 4 이면서 xmlHttp.status == 200인 경우에 정상으로 실행된것이다.
function function()
{
//직접 찍어볼 경우 속성값이 변하는 것을 알수있다.
alert( xmlHttp.readyState + ", " + xmlHttp.status );
if( xmlHttp.readyState == 4 && xmlHttp.status == 200 )
{
//정상적으로 응답을 받은경우
//실행 코드 작성,
}
}
'프로그래밍 > Ajax' 카테고리의 다른 글
Ajax - mootools 와 jQuery 충돌시 (0) | 2008.07.25 |
---|---|
Ajax - jQuery 에 대한 어떤이의 경험글 (0) | 2008.07.24 |
ajax 예제코드 및 데모들 (0) | 2008.07.24 |
Ajax - jQuery로 Ajax 개발을 단순화 하기 (0) | 2008.07.24 |
웹사이트 접근의 새로운 혁명 Ajax (0) | 2008.06.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크