| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- Web
- JWT
- 컨테이너
- dockerhub
- DLQ
- securitycontextholderfilter
- 서블릿 컨테이너
- JPQL
- Spring
- docker
- @Transactional
- JdbcTemplate
- 스프링 부트
- 페이징
- kafka
- AWS
- CORS
- Spring Container
- 지연 로딩
- docker compose
- DI
- Spring Data JPA
- redis
- 쿠버네티스
- JPA
- @ComponentScan
- Routing Key
- mybatis
- MSA
- Dead Letter Queue
- Today
- Total
look-forest
Ajax 본문
기존 방식
- 사용성 측면
페이지를 바꿀 때마다 URL이 바뀌고 HTML 파일이 바뀜. 리로드됨.
HTML 속 Image, JS 파일이 많으면 로드하기 느리고 비효율적.
내용만 바꾸고 싶다면?
- 코드 재사용성 측면
콘텐츠마다 HTML 파일이 있어 관리하기 힘듦. 중복되는 코드.
HTML template이 있고 그 안에 들어갈 내용만 동적으로 변경하고 싶다면?
Ajax란?

리로드 없이 웹서버에게 정보를 요청해서 부분적으로 정보를 갱신하는 기술
리로드 할때마다 모든 정보를 다운로드하는 비효율을 회피!
예) 자동완성 - 글자 입력시 마다 브라우저와 웹 서버가 통신. 이때 전체 페이지가 리로드 되는 것이 아님!
장점
- 부분적 갱신
일부 정보가 달라졌음에도 전체 페이지를 리로드 하는 비효율 개선
-> 사용자: 사용성 증가 / 서버: 비용 절감 - 확장성 있는코드, SPA
콘텐츠만을 콤팩트하게 동적으로 변경할 수 있는 구조
-> 한 페이지로 여러 정보 표현 가능! (Single Page Application)
fetch API - Ajax 구현 기술
Ajax를 구현하는 여러 기술 중 하나
- 사용 예

버튼을 클릭하면 URL이 변하지 않고, 'css' 라는 파일만 브라우저가 추가로 다운 받는 것을 볼 수 있다.

- fetch API의 요청과 응답

- fetch('파일') : 서버에게 파일 요청 (비동기)
- .then(callback) : 작업이 끝나면 실행. 콜백 함수에 response 객체 전달


- Response 객체
fetch로 요청 -> 응답한 내용을 Response 객체로 callback 함수에 전달한다.


실사용 예
버튼을 눌러 movieDB에 영화 정보 요청하기



Ajax를 적용해 SPA 만들기
간단한 예)
main page에서 링크를 클릭할 때마다 data를 fetch 해서 <article>을 채운다.


참고
생활코딩
'Web > Technique' 카테고리의 다른 글
| 오픈 API 사용 (0) | 2021.02.18 |
|---|---|
| Frontend와 backend 연결하기 feat.CORS (0) | 2021.01.29 |
| Federated Identity (0) | 2021.01.28 |
| Token을 활용한 인증 (0) | 2021.01.28 |
| Session을 활용한 인증 (0) | 2021.01.28 |