AJAX 핵심 대상 XML HttpRequest

MLHttpRequest 는 ajax 의 핵심 대상 입 니 다.
    일반적으로 서버 와 상호작용 을 하 는 것 은 폼 을 제출 하 는 형식 이 고, Ajax 에 있 는 클 라 이언 트 는 MLHttpRequest 대상 을 통 해 서버 와 의 통신 을 실현 합 니 다.XML HttpRequest 대상 은 서버 에 전체 페이지 를 제출 하지 않 은 상태 에서 부분 적 으로 웹 페이지 를 업데이트 할 수 있 습 니 다.페이지 가 모두 불 러 온 후에 클 라 이언 트 는 이 대상 을 통 해 서버 에 데 이 터 를 요청 하고 서버 에서 데 이 터 를 받 아들 이 고 처리 한 후에 클 라 이언 트 에 데 이 터 를 피드백 합 니 다.이렇게 하면 우리 와 서버 의 상호작용 속도 가 현저히 향상 되 고 사용자 체험 도 현저히 좋다.
    XML HttpRequest 대상 은 POST 와 HEAD 요청, 일반적인 GET 요청 을 하 는 능력 을 포함 하여 HTTP 프로 토 콜 에 대한 완전한 접근 을 제공 합 니 다.XML HttpRequest 는 웹 서버 의 응답 을 동기 화하 거나 비동기 로 되 돌려 주 며 텍스트 나 DOM 문서 로 내용 을 되 돌려 줍 니 다.XML HttpRequest 라 고 하지만 XML 문서 와 함께 사용 하 는 것 에 국한 되 지 않 습 니 다. 모든 형식의 텍스트 문 서 를 받 을 수 있 습 니 다.XML HttpRequest 대상 은 AJAX 라 는 웹 응용 프로그램 구조의 관건 적 인 기능 이다.
XML HttpRequest 대상 의 5 단계 사용법:    1. XML HttpRequest 대상 만 들 기    2. 리 셋 함수 등록    3. open 방법 으로 서버 와 상호작용 하 는 기본 정 보 를 설정 합 니 다.    4. 보 낸 데 이 터 를 설정 하고 서버 와 상호작용 을 시작 합 니 다.    5. 리 턴 함수 에서 상호작용 이 끝 났 는 지, 응답 이 정확 한 지 판단 하고 필요 에 따라 서버 가 되 돌아 온 데 이 터 를 가 져 와 페이지 내용 을 업데이트 합 니 다.
실례:
   //1、  XMLHttpRequest    
   if(window.XMLHttpRequest){  
        //Mozilla     
        xmlhttp=new XMLHttpRequest();  
    }else{  
       //IE     
       if(window.ActiveXObject){  
            try{  
                xmlthttp=new ActionXObject("Msxm12.XMLHTTP");  
            }catch(e){  
                try{  
                    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  
                }catch(e){}  
            }  
        }  
    }  

    //2、      
    xmlhttp.onreadystatechange=callback;

    //3、              
    xmlhttp.open("GET","AJAX?name="+userName,true);

    //4、            ,         
    xmlhttp.send(null);

주의사항:    1. 브 라 우 저 에서 XML HttpRequest 대상 을 만 들 지 않 는 방식 이 다 릅 니 다.IE7, IE8, FireFox, Mozilla, Safari, opera 에서 직접 new XML Httprequest (), IE6, IE 5.5, IE5 는 정확 한 ActiveXObject 컨트롤 이름 으로 new ActiveXObject 를 통과 하 는 방식 이 필요 하 다.    2. 리 셋 함 수 를 설정 할 때 함수 이름 뒤에 괄호 를 넣 지 마 십시오.괄호 를 넣 으 면 리 셋 함수 의 리 턴 값 을 onready statechange 속성 에 등록 합 니 다.정확 한 방식 은 반전 함수 의 이름 을 이 속성 에 등록 하 는 것 입 니 다.    3. open 방법 은 최대 다섯 개의 매개 변 수 를 가 질 수 있 는데 그 중에서 첫 번 째 세 개의 매개 변 수 는 필수 적 이다. GET 방식 을 사용 할 때 요청 데 이 터 는 url 링크 에 있 고 뒤의 send 방법의 매개 변 수 는 null 을 직접 쓰 면 됩 니 다. post 방식 을 사용 할 때 open 방법 을 사용 한 후에 setRequestHeader 방법 을 사용 하여 ContentType 의 값 을 설정 한 다음 에 send 방법 을 사용 해 야 합 니 다. send 의 매개 변 수 는 바로 청 구 된 데이터 입 니 다.    4. 리 셋 함수 에 서 는 readystate 와 status 를 판단 하 는 두 개의 if 조건 을 나 누 어 쓰 는 것 이 좋 습 니 다.readystate 의 판단 조건 은 외층 에 있 고 statusl 은 내층 에 있 습 니 다. 만약 그들 이 같은 if 조건 에 놓 여 있다 면 데이터 가 정상적으로 돌아 오 는 것 을 판단 하 는 것 도 문제 가 없습니다.그러나 서버 쪽 이 200 응답 이 아 닌 경우 와 readystate 가 4 가 아 닌 경 우 를 각각 처리 하기 가 쉽 지 않다.    5. 서버 측 이 XML 데 이 터 를 정확하게 되 돌려 주지 않 았 을 때 자바 script 에서 responseXMLI 방식 으로 되 돌아 오 는 XML 데이터 에 대응 하 는 DOM 대상 을 가 져 올 때 FireFox 와 lE 의 결 과 는 차이 가 있 습 니 다.IE 에서 루트 요소 노드 를 가 져 오 는 것 은 null 이 고 FireFox 에서 루트 요소 노드 를 가 져 오 는 것 은 오 류 를 분석 하 는 원 삭 노드 입 니 다.

좋은 웹페이지 즐겨찾기