jQuery를 사용하여 로딩 화면을 표시하고, AJAX 요청을 보내고 응답을 받는 동안 로딩 화면을 유지하는 코드 예시입니다.
2023. 4. 7. 10:22ㆍ코딩
<!-- 로딩 화면을 위한 HTML 요소 -->
<div id="loading-overlay">
<div class="spinner"></div>
</div>
/* 로딩 화면 스타일 */
#loading-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 9999;
display: none;
}
.spinner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border: 4px solid rgba(255, 255, 255, 0.3);
border-top: 4px solid #ffffff;
border-radius: 50%;
width: 32px;
height: 32px;
animation: spin 1s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
// AJAX 요청 생성
$.ajax({
url: "example.com/api/data",
method: "GET",
dataType: "json",
beforeSend: function(xhr) { // 로딩 화면 표시
$("#loading-overlay").show();
},
success: function(responseData) { // 로딩 화면 숨기고 응답 처리
$("#loading-overlay").hide();
// 응답 데이터 처리 코드
},
error: function(xhr, status, error) { // 로딩 화면 숨기고 에러 처리
$("#loading-overlay").hide();
console.log("Error: " + error);
},
complete: function() { // 로딩 화면 숨기기
$("#loading-overlay").hide();
}
});
jQuery의 $.ajax() 함수를 사용하여 AJAX 요청을 생성하고, beforeSend, success, error, complete 콜백 함수를 사용하여 각각 요청 전, 응답 성공, 에러 발생, 요청 완료 시점에서 로딩 화면을 표시하고 숨기도록 설정합니다.
beforeSend 콜백 함수에서는 AJAX 요청을 보내기 전에 로딩 화면을 표시합니다. success 콜백 함수와 error 콜백 함수에서는 응답이 도착했을 때 로딩 화면을 숨기고 각각 응답 데이터 처리 및 에러 처리를 수행합니다. complete 콜백 함수에서는 요청이 완료되었을 때 로딩 화면을 숨깁니다.
위 코드에서는 로딩 화면으로 CSS 애니메이션을 사용하였습니다. spinner 클래스를 가진 div 요소를 생성하고, CSS로 스피너 모양을 만들었습니다.
'코딩' 카테고리의 다른 글
jQuery에서 data 메소드를 사용하여 요소에 저장된 데이터 객체 (1) | 2023.04.07 |
---|---|
PHP를 사용하여 웹 페이지를 크롤링하는 예제 소스 코드입니다. (1) | 2023.04.07 |
jquery div append 소스 (0) | 2023.04.07 |
jquery 천단위 숫자 적용하기. (1) | 2023.04.07 |
jQuery를 사용하여 AJAX 요청 및 JSON 응답 데이터 처리하는 코드 예시입니다. (2) | 2023.04.07 |