Ajax 컨트롤 과 라 이브 러 리 요약
사용자 의 상호작용 (interaction) 이 웹 사 이 트 를 구동 하고 있 습 니 다.응답 정 보 를 어떻게 처리 하 는 지, 특히 새로운 상호작용 형식 (예 를 들 어 AJAX) 을 사용 할 때 이 점 은 매우 중요 하 다.Kris Hadloc 는 AJAX 요청 - 응답 과정의 본질 을 설 명 했 습 니 다. 이러한 내용 을 이해 하고 사용자 에 게 상호작용 서 비 스 를 잘 해 야 합 니 다.요청 과 응답 AJAX 엔진 은 여러 가지 로 나 뉘 어 모든 면 에서 중요 하 다.엔진 이 요청 과 응답 정 보 를 보 내 는 업 무 를 수행 하면 응답 정 보 를 처리 하 는 방법 이 많다.응답 정 보 는 처리 과정 에서 중요 한 부분 으로 사용자 가 최종 적 으로 응답 정보 와 상호작용 을 하기 때문이다.본 고 는 AJAX 응답 정 보 를 어떻게 처리 하고 사용자 에 게 피드백 정 보 를 제공 하 며 필요 에 따라 업데이트 하 는 지 상세 하 게 설명 했다.저 희 는 요청 한 준비 상태 부터 시작 하여 응답 정보의 상태, 반전 (callback) 과 응답 정 보 를 분석 합 니 다.본 고 는 메시지 불 러 오기, 오류 처리, 응답 정보 표시 등 응답 정보의 다른 측면 도 설명 했다.나 는 모두 가 다운로드 할 수 있 도록 예 시 를 만 들 었 다.이 예제 에는 대상 을 대상 으로 하 는 AJAX 엔진 이 포함 되 어 있 으 며, 모든 AJAX 응용 프로그램 에서 다시 사용 할 수 있 습 니 다.응답 메 시 지 를 논의 하기 전에 AJAX 엔진 을 만 들 고 요청 하 는 방법 을 알려 드 리 겠 습 니 다.우선, AJAX 엔진 의 코드 를 살 펴 보 겠 습 니 다.
document.write("");
function Ajax()
{
this.toString = function() { return "Ajax"; }
this.http = new HTTP();
this.makeRequest = function(_method, _url, _callbackMethod)
{
this.request = (window.XMLHttpRequest)?
new XMLHttpRequest(): new ActiveXObject("MSXML2.XMLHTTP");
this.request.onreadystatechange = _callbackMethod;
this.request.open(_method, _url, true);
this.request.send(_url);
}
}
이 대상 을 만 들 고 요청 을 하기 위해 서 는 다음 두 줄 의 코드 만 사용 하 십시오.
var ajax = new Ajax();
ajax.makeRequest('GET', 'xml/content.xml', onResponse);
위의 두 번 째 줄 코드 는 당신 이 선택 한 요청 방법, XML 의 경로 나 요청 한 서버 쪽 스 크 립 트, 응답 정 보 를 받 았 을 때 호출 하고 자 하 는 리 셋 방법 을 반영 합 니 다.이제 AJAX 엔진 과 요청 을 어떻게 하 는 지 에 대해 어느 정도 알 고 있 습 니 다. 요청 을 어떻게 처리 하 는 지 알 아 보 겠 습 니 다.준비 (Ready) 상태 준비 상 태 는 리 셋 방법 으로 처리 합 니 다. 우리 가 요청 을 했 을 때 리 셋 방법 은 이미 설정 되 어 있 습 니 다.예 를 들 어 onResponse 는 리 셋 방법 으로 설정 되 어 있 으 며 본 고 에서 모든 분석 코드 를 처리 하 는 데 사 용 됩 니 다.우 리 는 다음 코드 를 사용 하여 리 셋 방법 중의 AJAX 대상 의 준비 상 태 를 검사 할 것 입 니 다.
function onResponse()
{
if(ajax.checkReadyState('body', 'loading...', 'loading...', 'loading...') == "OK")
{
//
}
}
위의 코드 에 따 르 면, 우 리 는 checkReady State 방법 에 네 개의 인 자 를 전달 할 것 입 니 다.첫 번 째 매개 변 수 는 우리 가 표시 하고 자 하 는 로드 (loading) 메시지 div 의 ID 이 고, 다른 세 개의 매개 변 수 는 서로 다른 상태 에 대응 하 는 로드 메시지 입 니 다.내 가 선택 한 메 시 지 를 불 러 오 는 div 의 이름 은 body 입 니 다. 새 데 이 터 를 불 러 올 때 내용 과 불 러 오 는 메 시 지 를 합 친 것 입 니 다.다음은 실제 checkReady State 방법 입 니 다. 이것 은 우리 가 방금 토론 한 코드 를 처리 하고 div 에서 우리 에 게 전달 한 매개 변 수 를 표시 합 니 다.이 방법 도 예제 AJAX 엔진 에 포함 되 어 있다.
this.checkReadyState = function(_id, _1, _2, _3)
{
switch(this.request.readyState)
{
case 1:
document.getElementById(_id).innerHTML = _1;
break;
case 2:
document.getElementById(_id).innerHTML = _2;
break;
case 3:
document.getElementById(_id).innerHTML = _3;
break;
case 4:
document.getElementById(_id).innerHTML = "";
return this.http.status(this.request.status);
}
}
checkReady State 방법 은 사용자 에 게 페이지 상태의 피드백 정 보 를 제공 하 는 데 유용 합 니 다.다음 표 는 검 측 된 값 을 보 여 줍 니 다:
값.
상태.
0
초기 화 되 지 않 음 (초기 화 되 지 않 음)
1
로드 중 (불 러 오 는 중)
2
Loaded (불 러 왔 습 니 다)
3
대화 식 (대화 식)
4
완료 (완료)
모든 로 딩 상태 에 사용자 정의 메 시 지 를 추가 할 수 있 습 니 다. 간단 한 문자열 일 수도 있 고 문자열 형식의 그림 태그 일 수도 있 습 니 다. (예 를 들 어 애니메이션 로 딩 GIF 를 표시 합 니 다)다음은 하나의 예 이다.
var loader = "〈IMG src="http://images.51cto.com/wuyou/images/loader.gif"〉";
ajax.checkReadyState('body', loader, loader, loader);
checkReady State 방법 으로 요청 상 태 를 처리 할 뿐만 아니 라 HTTP 대상 도 요청 상 태 를 감지 하고 되 돌려 줍 니 다.사용자 의 상호작용 (interaction) 이 웹 사 이 트 를 구동 하고 있 습 니 다.응답 정 보 를 어떻게 처리 하 는 지, 특히 새로운 상호작용 형식 (예 를 들 어 AJAX) 을 사용 할 때 이 점 은 매우 중요 하 다.Kris Hadloc 는 AJAX 요청 - 응답 과정의 본질 을 설 명 했 습 니 다. 이러한 내용 을 이해 하고 사용자 에 게 상호작용 서 비 스 를 잘 해 야 합 니 다.요청 과 응답 AJAX 엔진 은 여러 가지 로 나 뉘 어 모든 면 에서 중요 하 다.엔진 이 요청 과 응답 정 보 를 보 내 는 업 무 를 수행 하면 응답 정 보 를 처리 하 는 방법 이 많다.응답 정 보 는 처리 과정 에서 중요 한 부분 으로 사용자 가 최종 적 으로 응답 정보 와 상호작용 을 하기 때문이다.본 고 는 AJAX 응답 정 보 를 어떻게 처리 하고 사용자 에 게 피드백 정 보 를 제공 하 며 필요 에 따라 업데이트 하 는 지 상세 하 게 설명 했다.저 희 는 요청 한 준비 상태 부터 시작 하여 응답 정보의 상태, 반전 (callback) 과 응답 정 보 를 분석 합 니 다.본 고 는 메시지 불 러 오기, 오류 처리, 응답 정보 표시 등 응답 정보의 다른 측면 도 설명 했다.나 는 모두 가 다운로드 할 수 있 도록 예 시 를 만 들 었 다.이 예제 에는 대상 을 대상 으로 하 는 AJAX 엔진 이 포함 되 어 있 으 며, 모든 AJAX 응용 프로그램 에서 다시 사용 할 수 있 습 니 다.응답 메 시 지 를 논의 하기 전에 AJAX 엔진 을 만 들 고 요청 하 는 방법 을 알려 드 리 겠 습 니 다.우선, AJAX 엔진 의 코드 를 살 펴 보 겠 습 니 다.
document.write("src=\"js/HTTP.js\">>");
function Ajax()
{
this.toString = function() { return "Ajax"; }
this.http = new HTTP();
this.makeRequest = function(_method, _url, _callbackMethod)
{
this.request = (window.XMLHttpRequest)? new XMLHttpRequest():
new ActiveXObject("MSXML2.XMLHTTP");
this.request.onreadystatechange = _callbackMethod;
this.request.open(_method, _url, true);
this.request.send(_url);
}
}
이 대상 을 만 들 고 요청 을 하기 위해 서 는 다음 두 줄 의 코드 만 사용 하 십시오.
var ajax = new Ajax();
ajax.makeRequest('GET', 'xml/content.xml', onResponse);
위의 두 번 째 줄 코드 는 당신 이 선택 한 요청 방법, XML 의 경로 나 요청 한 서버 쪽 스 크 립 트, 응답 정 보 를 받 았 을 때 호출 하고 자 하 는 리 셋 방법 을 반영 합 니 다.이제 AJAX 엔진 과 요청 을 어떻게 하 는 지 에 대해 어느 정도 알 고 있 습 니 다. 요청 을 어떻게 처리 하 는 지 알 아 보 겠 습 니 다.준비 (Ready) 상태 준비 상 태 는 리 셋 방법 으로 처리 합 니 다. 우리 가 요청 을 했 을 때 리 셋 방법 은 이미 설정 되 어 있 습 니 다.예 를 들 어 onResponse 는 리 셋 방법 으로 설정 되 어 있 으 며 본 고 에서 모든 분석 코드 를 처리 하 는 데 사 용 됩 니 다.우 리 는 다음 코드 를 사용 하여 리 셋 방법 중의 AJAX 대상 의 준비 상 태 를 검사 할 것 입 니 다.
function onResponse()
{
if(ajax.checkReadyState('body', 'loading...', 'loading...', 'loading...') == "OK")
{
//
}
}
위의 코드 에 따 르 면, 우 리 는 checkReady State 방법 에 네 개의 인 자 를 전달 할 것 입 니 다.첫 번 째 매개 변 수 는 우리 가 표시 하고 자 하 는 로드 (loading) 메시지 div 의 ID 이 고, 다른 세 개의 매개 변 수 는 서로 다른 상태 에 대응 하 는 로드 메시지 입 니 다.내 가 선택 한 메 시 지 를 불 러 오 는 div 의 이름 은 body 입 니 다. 새 데 이 터 를 불 러 올 때 내용 과 불 러 오 는 메 시 지 를 합 친 것 입 니 다.다음은 실제 checkReady State 방법 입 니 다. 이것 은 우리 가 방금 토론 한 코드 를 처리 하고 div 에서 우리 에 게 전달 한 매개 변 수 를 표시 합 니 다.이 방법 도 예제 AJAX 엔진 에 포함 되 어 있다.
this.checkReadyState = function(_id, _1, _2, _3)
{
switch(this.request.readyState)
{
case 1:
document.getElementById(_id).innerHTML = _1;
break;
case 2:
document.getElementById(_id).innerHTML = _2;
break;
case 3:
document.getElementById(_id).innerHTML = _3;
break;
case 4:
document.getElementById(_id).innerHTML = "";
return this.http.status(this.request.status);
}
}
checkReady State 방법 은 사용자 에 게 페이지 상태의 피드백 정 보 를 제공 하 는 데 유용 합 니 다.다음 표 는 검 측 된 값 을 보 여 줍 니 다:
값.
상태.
0
초기 화 되 지 않 음 (초기 화 되 지 않 음)
1
로드 중 (불 러 오 는 중)
2
Loaded (불 러 왔 습 니 다)
3
대화 식 (대화 식)
4
완료 (완료)
모든 로 딩 상태 에 사용자 정의 메 시 지 를 추가 할 수 있 습 니 다. 간단 한 문자열 일 수도 있 고 문자열 형식의 그림 태그 일 수도 있 습 니 다. (예 를 들 어 애니메이션 로 딩 GIF 를 표시 합 니 다)다음은 하나의 예 이다.
var loader = "〈IMG src="http://images.51cto.com/wuyou/images/loader.gif"〉";
ajax.checkReadyState('body', loader, loader, loader);
checkReady State 방법 으로 요청 상 태 를 처리 할 뿐만 아니 라 HTTP 대상 도 요청 상 태 를 감지 하고 되 돌려 줍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
원생 Ajax와 jQuery Ajax의 차이점 예시 분석선언: 이번에 소개한 것은 aax와 백그라운드를 이용하여 데이터 교환을 하는 작은 예이기 때문에 demo는 서버를 통해 열어야 합니다.서버 환경은 구축하기 매우 좋다. 인터넷에서wamp나xampp를 다운로드하여 한 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.