전통문화대전망 - 중국 전통문화 - Ajax 스타일이 무엇인지는 전문적인 설명과 상세한 예가 필요하다.
Ajax 스타일이 무엇인지는 전문적인 설명과 상세한 예가 필요하다.
웹 서버에 대한 비동기 요청-사용자가 웹 서버의 응답을 기다리는 동안 브라우저 사용자 인터페이스는 차단되지 않지만 사용자의 상호 작용에 계속 응답할 수 있습니다.
자바스크립트로 작성된 브라우저 기반 논리에 크게 의존 -W3CDOM 의 최신 개선 및 표준화는 동적 클라이언트 UI 업데이트를 지원합니다.
브라우저와 웹 서버 간의 XML 기반 데이터 교환-XMLHTTP 객체는 페이지 과부하를 발생시키지 않고 웹 서버와 통신할 수 있도록 합니다.
AJAX 응용 프로그램과 기존 웹 응용 프로그램의 가장 큰 차이점은 각 사용자 상호 작용으로 인해 각 HTTP 요청이 웹 서버로 전송되지 않는다는 것입니다. 대신 JavaScript 가 구현하는 브라우저 기반 논리 보유 컨트롤은 요청을 로컬로 처리할지 아니면 서버에서 비동기적으로 호출할지 결정합니다. 서버에 대한 비동기 호출이 종료되면 클라이언트 논리가 그에 따라 UI 의 관련 부분을 업데이트합니다. 이 방법은 다음과 같은 장점이 있습니다.
사용자 환경이 더욱 풍부해졌습니다. 예를 들어 Google 지도 사용자가 지도를 한 방향으로 끌면 비동기 요청이 백그라운드에서 서버로 전송되어 화면 경계를 넘어선 후에도 계속 드래그할 수 있습니다. 이렇게 하면 지도를 더 끌 때 새 이미지를 사용할 수 있습니다. 이것은 반응이 더 빠른 느낌을 준다.
XMLHttp 를 통한 서버 호출 상태가 손실되지 않기 때문에 AJAX 응용 프로그램은 매번 UI 인터페이스를 재생성하지 않아도 됩니다.
브라우저에 더 많은 논리가 있으므로 웹 서버에 대한 왕복 요청 수가 줄어들고 시스템의 잠재력이 더욱 향상됩니다.
이러한 장점에도 불구하고 AJAX 스타일의 응용 프로그램에는 몇 가지 단점이 있습니다. 예를 들어 AJAX 스타일 응용 프로그램 개발은 해당 프레임워크 (WindowsMFC toolkit 과 유사한 UI 클래스 세트) 와 IDE (디버깅, 시각화 디자인 등) 가 부족하여 어렵습니다. ) 로 이동합니다. 또한 AJAX 기반 개발을 위해서는 한 사람이 최소한 두 가지 언어 (DHTML 및 JavaScript) 를 익혀야 합니다. 또한 AJAX 스타일의 응용 프로그램 인코딩은 다중 브라우저 버전 및 유형을 지원하기 위해 추가 테스트가 필요하기 때문에 시간이 더 오래 걸립니다. 마지막으로 JavaScript 기반 소스 코드는 최종 사용자가 액세스할 수 있으므로 개발 중 보안 분석이 매우 중요합니다.
다행히도 Atlas, AJAX.NET, GoogleMapsAPI 등의 도구는 향후 AJAX 스타일의 응용 프로그램을 더 잘 지원합니다. 다음으로, AJAX 스타일 애플리케이션 구축을 위한 지원 기술의 발전과 새로 발표된 툴세트인 Atlas 에서 기대할 수 있는 것에 대해 살펴보겠습니다.
먼저 XMLHttp 객체에 대해 살펴보겠습니다. 이 개체는 Microsoft 에서 처음 출시되었으며 Mozilla 와 Apple 의 Safari 브라우저를 포함한 다른 플랫폼에서 구현되었습니다. XMLHttp 는 웹 서버에 대한 비동기 요청을 지원합니다. 이를 통해 클라이언트는 전체 페이지를 과부하하지 않고 JavaScript 논리를 기반으로 웹 서버를 호출할 수 있습니다.
즉, 전체 페이지를 과부하하지 않고 백그라운드에서 웹 서버와 상호 작용할 수 있습니다.
XMLHttp 객체의 사용은 상당히 간단합니다. 간단히 하기 위해 IE 전용 구문만 고려해 보겠습니다. 실제로 다른 브라우저에서 XMLHttp 의 구현 구문은 여기에 설명된 구문과 유사합니다.
Request = new activexobject ("Microsoft. XMLHTTP”);;
If (request) {request.onreadystatechange = callbackhandler;
Request.open("GET ",URL, true);
Request.send ();
}
FunctionCallbackHandler(){
If ((request.readystate = = 4) & & amp(request.status==200){
}