ajax 장단 점 작업 원리
3367 단어 ajax
1. 업데이트 데이터 새로 고침 없 음
Ajax 의 가장 큰 장점 은 전체 페이지 를 새로 고치 지 않 고 서버 와 의 통신 을 유지 할 수 있다 는 것 이다.
2. 비동기 및 서버 통신
비동기 방식 으로 서버 와 통신 하여 사용자 의 조작 을 끊 지 않 습 니 다.
단점:
1. Ajax 는 Back 과 History 기능, 즉 브 라 우 저 메커니즘 에 대한 파 괴 를 제거 했다.
동적 으로 페이지 를 업데이트 하 는 상황 에서 사용 자 는 이전 페이지 의 상태 로 돌아 갈 수 없습니다. 브 라 우 저 는 과거 기록 의 정적 페이지 만 기억 할 수 있 기 때 문 입 니 다.
2. 안전 문제
AJAX 기술 은 사용자 에 게 좋 은 사용자 체험 을 가 져 다 주 는 동시에 IT 기업 에 새로운 안전 위협 을 가 져 왔 다. Ajax 기술 은 기업 데이터 에 직접적인 통 로 를 구축 하 는 것 과 같다.이 때문에 개발 자 들 은 무심코 이전 보다 더 많은 데이터 와 서버 논 리 를 노출 할 수 있 습 니 다.
3. 검색엔진 에 대한 지원 이 약 함
4. 프로그램의 이상 처리 메커니즘 파괴
5. URL 과 자원 포 지 셔 닝 의 취지 에 위배
6. 모 바 일 장 치 를 잘 지원 하지 못 함
7. 클 라 이언 트 가 비대 하고 너무 많은 클 라 이언 트 코드 가 개발 상의 원 가 를 초래한다.
작업 원리:
Ajax 의 원 리 는 쉽게 말 하면 XmlHttpRequest 대상 을 통 해 서버 에 비동기 요청 을 하고 서버 에서 데 이 터 를 얻 은 다음 javascript 으로 DOM 을 조작 하여 페이지 를 업데이트 합 니 다.그 중 가장 중요 한 단 계 는 서버 에서 요청 데 이 터 를 얻 는 것 이다.이 과정 과 원 리 를 분명히 하려 면, 우 리 는 반드시 옳다. XML Http Request 에 대해 알 고 있 습 니 다.
XML HttpRequest 는 ajax 의 핵심 메커니즘 으로 IE5 에서 먼저 도 입 된 비동기 요청 을 지원 하 는 기술 입 니 다.쉽게 말 하면 자 바스 크 립 트 는 사용 자 를 막 지 않 고 서버 에 요청 과 처리 응답 을 할 수 있 습 니 다.리 셋 효과 가 없습니다.
그래서 우 리 는 먼저 XML HttpRequest 부터 그것 의 작업 원 리 를 살 펴 보 자.
우선 XML HttpRequest 라 는 대상 의 속성 을 살 펴 보 겠 습 니 다.
그것 의 속성 은:
onreadystatechange 트리거 이벤트 의 이벤트 처리 프로그램 을 상태 가 바 뀔 때마다
responseText 서버 프로 세 스에 서 데 이 터 를 되 돌려 주 는 문자열 형식 입 니 다.
responseXML 서버 프로 세 스에 서 되 돌아 오 는 DOM 호 환 문서 데이터 대상 입 니 다.
status 서버 에서 돌아 오 는 디지털 코드, 예 를 들 어 흔히 볼 수 있 는 404 (찾 을 수 없 음) 와 200 (준비 되 었 음)
status Text 상태 코드 에 따 른 문자열 정보
readyState 대상 상태 값
0 (초기 화 되 지 않 음) 대상 이 만 들 어 졌 지만 초기 화 되 지 않 았 습 니 다 (open 방법 이 호출 되 지 않 았 습 니 다)
1 (초기 화) 대상 이 생 성 되 었 습 니 다. send 방법 이 호출 되 지 않 았 습 니 다.
2 (데 이 터 를 보 내 는) send 방법 이 호출 되 었 으 나 현재 상태 및 http 헤드 는 알 수 없습니다.
3 (데이터 전송 중) 응답 및 http 헤더 가 불완전 하기 때문에 일부 데 이 터 를 받 았 습 니 다. 이 때 responseBody 와 responseText 를 통 해 일부 데 이 터 를 가 져 오 는 중 오류 가 발생 할 수 있 습 니 다.
4 (완성) 데이터 수신 이 완료 되 었 습 니 다. 이 때 responseXml 와 responseText 를 통 해 완전한 응답 데 이 터 를 얻 을 수 있 습 니 다.
단, 브 라 우 저 마다 차이 가 있 기 때문에 XML HttpRequest 대상 을 만 드 는 데 는 다른 방법 이 필요 할 수 있 습 니 다.이 차 이 는 주로 IE 와 다른 브 라 우 저 사이 에 나타난다.다음은 비교적 표준적 인 XML HttpRequest 대상 을 만 드 는 방법 입 니 다.
function CreateXmlHttp() {
// IE XmlHttpRequest
if (window.XmlHttpRequest) {
xmlhttp = new XmlHttpRequest();
}
//IE XmlHttpRequest
if (window.ActiveXObject) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
try {
xmlhttp = new ActiveXObject("msxml2.XMLHTTP");
}
catch (ex) { }
}
}
}
function Ustbwuyi() {
var data = document.getElementById("username").value;
CreateXmlHttp();
if (!xmlhttp) {
alert(" xmlhttp !");
return false;
}
xmlhttp.open("POST", url, false);
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
document.getElementById("user1").innerHTML = " ...";
if (xmlhttp.status == 200) {
document.write(xmlhttp.responseText);
}
}
}
xmlhttp.send();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Javascript Ajax에 대한 간단한 연습저는 약 4년 동안 프로그래밍 개인 튜터로 일한 경험이 있습니다. 약 5년 전에 " "이라는 제목의 페르시아어로 내 웹사이트에 블로그 게시물을 올렸고 사람들이 저에게 전화하기 시작했습니다. 나는 항상 사람들을 가르치...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.