322f5938302b15d10c43b94c25ee3bb3.jpg

AJAX (Asynchronous JavaScript and XML)

자바스크립트를 이용해 비동기식으로 서버와 통신하는 프로그래밍 방식.(구현하는 방식)
사용자가 원할 때만 데이터를 가져오게 api를 호출할 수 있도록 프로그래밍하는 것이 AJAX.
페이지가 열리자마자 절차대로 하나하나 코딩이 실행되는 것이 아니고,

  • 버튼을 눌렀을 때 실행
  • 네이버 실시간 검색어 처럼 10초에 한 번씩 새로운 검색어로 교체

이런 것들이 비동기적으로 실행되는 프로그래밍인데-
이렇게 페이지 단위가 아닌 원하는 데이터만 서버-클라이언트 간에 주고받는 방식을 Ajax라고 하고 바꾸고 싶은 DOM 부분만 바꿔주면서 화면을 동적으로 구현할 수 있게 된 것이 AJAX의 핵심 개념!
js는 웹브라우저에서 출발한 언어로 서버와 교신하는 기능은 없었으나 Ajax를 통해 가능하게 되었고 Ajax를 통해 주로 받는 형태가 XML이나 JSON형태이다(최근에는 xml보다 json을 더 많이 사용)

  • JSON????

    JavaScript Object Notation 의 약자.
    네트워크를 통해 데이터를 주고받는 데 사용되는 데이터 형식의 일종 (light-weight)
    JSON형태로 온 데이터들을 뽑아내서(파싱) 사용할 수 있다!

    {
    "이름" : "테스트",
    "나이" : 25,
    "성별" : "여",
    "특기" : ["농구","탁구"],
    //name은 string, value는 배열인 name-value 쌍.
    "가족관계":{"#":2, "아버지":"홍길동", "어머니":"아이유"},
    }

    *JSON은 name-value 형태의 짝궁으로 된 객체형으로이루어짐.
    *name인 애들은 무조건 string.
    *JSON안에서 value는 배열 or 객체 다 가능 (배열의 요소는 기본 문자형이나 배열, 객체여도 괜춘)