AJAX 핵심 대상 XML HttpRequest
일반적으로 서버 와 상호작용 을 하 는 것 은 폼 을 제출 하 는 형식 이 고, 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 에서 루트 요소 노드 를 가 져 오 는 것 은 오 류 를 분석 하 는 원 삭 노드 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.