본문 바로가기

Programming/[Java Script]

[Java Script] Ajax

 Ajax

  • Asynchronous JavaScript and XML
  • 비동기적인 웹 애플리케이션 제작
  • 표현 정보를 위한 HTML, CSS
  • 동적인 화면 출력 및 표시 정보와의 상호작용을 위한 DOM, 자바스크립트
  • 웹 서버와 비동기적으로 데이터를 교환하고 조작하기 위한 XML, XSLT, XMLHttpRequest
  • 함께 사용하는 기술의 묶음을 지칭
  • 필요한 데이터만을 웹 서버에 요청해 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있다.
  • 웹 서버에서 전적으로 처리되던 데이터 처리의 일부분이 클라이언트 쪽에서 처리 되므로 웹 브라우저와 웹 서버 사이의 데이터 량과 처리량이 줄어 들기에 응답성이 좋아짐
  • 장점
     - 페이지 이동없이 고속으로 화면 전환
     - 서버 처리를 기다리지 않고, 비동기 요청 가능
     - 수신하는 데이터 양 줄이고 클라이언트에게 처리를 위임
  • 단점
     - Ajax를 쓸 수 없는 브라우저에 대한 문제
     - HTTP 클라이언트의 기능이 한정
     - 페이지 이동없는 통신으로 인한 보안상의 문제
     - 지원하는 Charset이 한정
     - 스크립트로 작성되므로 디버깅 불편
     - 요청을 남발하면 역으로 서버 부하
     - 동일-출처 정책으로 인해 다른 도메이과는 통신이 불가능 
  • 문법$.ajax({ url: "", type: "", cache: , dataType: "", data: "", success: function(data) {<br /> }, error: function(request, status, error) { } }); - url : 요청 url을 의미
     - type : 데이터 전송방식. GET 또는 POST
     - cache : 요청 페이지의 캐시 여부. false or true
     - datatype : 서버에서 받아올 데이터를 어떤 형태로 해석할 것인지. xml, json, html, script 선택 가능
     - data : 서버로 데이터를 전송할 때 사용. "name="+name 형태
     - success : Ajax 통신에 성공했을 때 실행되는 이벤트
     - error : Ajax 통신에 실패했을 때 실행되는 이벤트. request, status, error로 정보 확인