[jQuery] JSONP 요청의 취소 및 타임아웃 처리 방법
웹 애플리케이션을 개발할 때, 외부 API로의 요청은 일반적으로 JSONP(JSON with Padding)로 이루어집니다. 이를 통해 다른 도메인으로부터 데이터를 안전하게 가져올 수 있습니다. 그러나 때로는 요청을 취소하거나 타임아웃 처리를 해야 하는 상황이 발생할 수 있습니다. 여기서는 jQuery를 이용하여 JSONP 요청을 취소하고 타임아웃하는 방법을 알아보겠습니다.
1. JSONP 요청 취소하기
jQuery를 사용하여 JSONP 요청을 취소하려면 $.ajax()
함수를 사용합니다. 이 함수를 호출한 뒤에는 abort()
메서드를 사용하여 요청을 취소할 수 있습니다.
예를 들어, 다음과 같이 JSONP 요청을 보낸 후 2초 후에 이를 취소할 수 있습니다.
var request = $.ajax({
url: "https://example.com/api/data",
dataType: "jsonp",
success: function(response) {
// 요청이 성공했을 때의 처리 로직
}
});
setTimeout(function() {
request.abort();
console.log("요청이 취소되었습니다.");
}, 2000);
2. JSONP 요청 시 타임아웃 설정하기
때로는 JSONP 요청에 타임아웃을 설정해야 하는 경우가 있습니다. 이를 위해 timeout
옵션을 사용하여 요청의 최대 대기 시간을 설정할 수 있습니다.
예를 들어, 다음과 같이 JSONP 요청에 5초의 타임아웃을 설정할 수 있습니다.
$.ajax({
url: "https://example.com/api/data",
dataType: "jsonp",
timeout: 5000,
success: function(response) {
// 요청이 성공했을 때의 처리 로직
},
error: function(xhr, status, error) {
console.log("요청이 타임아웃되었습니다.");
}
});
요약
jQuery를 이용하여 JSONP 요청을 취소하거나 타임아웃 처리하는 방법을 살펴보았습니다. 이를 통해 안정적인 외부 데이터 요청 처리를 구현할 수 있습니다.
이와 관련된 자세한 정보는 jQuery 공식 문서를 참고하시기 바랍니다.