AJAX는 Asynchronous JavaScript and XML의 약자로, 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 로드하지 않고 필요한 일부 페이지의 데이터만을 로드하는 기법이며, JavaScript를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술이다. 다만 요즘은 XML보다는 JSON을 주로 사용한다.
즉, JavaScript를 통해서 서버에 데이터를 비동기 방식으로 요청하는 것
웹페이지를 리로드하지 않고 데이터를 불러오는 방식
AJAX는 HTML 페이지 전체가 아닌 일부분만 갱신할 수 있도록 XMLHttpRequest 객체를 통해 서버에 요청한다. 이 경우, JSON 이나 XML 형태로 필요한 데이터만 받아 갱신하기 때문에 그만큼의 자원과 시간을 아낄 수 있다.
➡️ 위와 같은 기술들이 혼합적으로 사용되며, 서버와 [JSON, XML, HTML, 텍스트 파일] 등을 주고받을 수 있게 된다.
📍 장점
📍 단점
const xhttp = new XMLHttpRequest();
처리 결과를 받을 이벤트 리스너 등록
서버로 보낼 데이터 생성
클라이언트와 서버 간의 연결 요청 준비(open() 메서드 이용)
4-1. 서버로 보낼 데이터 전송방식 설정(Get, Post 중 선택)
4-2. 서버 응답 방식 설정 (동기, 비동기)
실제 데이터 전송(send() 메서드 이용)
응답 처리
데이터 처리
🎲 open() 메소드
open() 메소드는 서버로 보낼 Ajax 요청의 형식을 설정
🎲 send() 메소드
send() 메소드는 작성된 Ajax 요청을 서버로 전달
🎲 GET : 데이터를 읽거나 검색할 때 주로 사용되는 메소드
POST : 새로운 리소스를 생성할 때 주로 사용되는 메소드
PUT : 리소스를 생성/업데이트할 때 주로 사용되는 메소드
DELTE : 지정된 리소스를 삭제할 때 주로 사용되는 메소드
Axios와 Fetch는 모두 Promise 기반의 HTTP 클라이언트,
이 클라이언트를 이용해 네트워크 요청을 하면 이행(resolve) 혹은 거부(reject)할 수 있는 Promise가 반환됨
🧩 Axios
Fetch API는 네트워크 요청을 위해 fetch() 함수를 제공하는 인터페이스
🧩 fetch()
: 비동기 통신으로 요청을 발행하고, 해당 응답을 취득하는 함수
https://jbground.tistory.com/4
https://velog.io/@surim014/AJAX란-무엇인가
https://99geo.tistory.com/65
https://velog.io/@dusunax/AXIOS란-feat.-React
https://velog.io/@eunbinn/Axios-vs-Fetch
https://velog.io/@keynene/JavaScript-Axios-VS-Fetch-무슨-차이일까
https://velog.io/@gparkkii/whatisajax
https://uou413.tistory.com/69