: 페이지 전체를 새로고침하지 않기 때문에 사용자 경험이 부드럽고 빠르다.
: 대부분의 렌더링이 사용자의 브라우저(클라이언트 측)에서 처리된다.
: 필요한 데이터만 서버로부터 불러오므로 서버 부하가 감소한다.
// 버튼 클릭 이벤트 핸들러
$('#loadData').click(function() {
// jQuery를 사용한 AJAX 요청
$.ajax({
url: 'https://example.com/data',
type: 'GET',
success: function(data) {
// 데이터 처리 및 페이지 갱신
$('#content').html(data);
},
error: function(error) {
// 오류 처리
console.log(error);
}
});
});
1. 사용자 상호작용 : 사용자가 웹 페이지에서 어떤 동작(클릭 등)을 수행.
2. AJAX 요청 : 브라우저가 서버에 데이터를 요청하기 위해 AJAX 요청을 보냄.
3. 서버 응답 : 서버는 요청된 데이터를 처리한 후 응답으로 보냄.
4. 페이지 갱신 : 브라우저는 서버로부터 받은 데이터를 사용하여 페이지의 일부분만을 갱신.
SPA는 빠르고 부드러운 사용자 경험, 서버 부하 감소, 개발의 분리 및 효율성, 효율적인 캐싱 및 오프라인 기능, 우수한 확장성 등 다양한 장점을 가지고 있다. 하지만 SEO 최적화와 초기 로딩 시간과 같은 단점도 있으므로, 프로젝트의 요구사항에 따라 적절하게 선택해야 한다.