자바스크립트 응답 상태 코드 처리
웹 애플리케이션을 개발하다보면 서버로부터 반환되는 응답 상태 코드를 처리해야 할 때가 많습니다. 이러한 상태 코드는 서버와의 통신 결과를 나타내며, 우리가 적절한 대응을 할 수 있도록 도와줍니다. 자바스크립트에서는 이러한 응답 상태 코드를 처리하는 방법을 제공합니다.
XMLHttpRequest를 이용한 응답 상태 코드 처리
const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// 성공적인 응답 처리
console.log('데이터를 성공적으로 받아왔습니다.');
} else {
// 에러 응답 처리
console.error('데이터를 받아오는 중에 오류가 발생했습니다.');
}
}
};
xhr.send();
위의 예시 코드에서는 XMLHttpRequest
를 이용하여 서버로 데이터를 요청하고, 응답 상태 코드를 처리합니다. readyState
가 4일 경우 응답을 받았으며, 이때 status
를 확인하여 성공 혹은 실패를 판단할 수 있습니다.
Fetch API를 이용한 응답 상태 코드 처리
fetch('https://api.example.com/data')
.then(response => {
if (response.ok) {
// 성공적인 응답 처리
console.log('데이터를 성공적으로 받아왔습니다.');
} else {
// 에러 응답 처리
console.error('데이터를 받아오는 중에 오류가 발생했습니다.');
}
})
.catch(error => {
// 네트워크 오류 처리
console.error('데이터를 받아오는 중에 네트워크 오류가 발생했습니다.');
});
Fetch API
를 이용하면 더 간단하게 응답 상태 코드를 처리할 수 있습니다. response.ok
속성을 확인하여 응답이 성공인지 아닌지를 판단하고, 그에 맞는 대응을 할 수 있습니다. 또한, 네트워크 오류가 발생하면 catch
블록에서 처리할 수 있습니다.
axios 라이브러리를 이용한 응답 상태 코드 처리
axios.get('https://api.example.com/data')
.then(response => {
console.log('데이터를 성공적으로 받아왔습니다.');
})
.catch(error => {
console.error('데이터를 받아오는 중에 오류가 발생했습니다.');
});
axios
라이브러리를 사용하면 더욱 간결하게 응답 상태 코드를 처리할 수 있습니다. then
블록에서 성공적인 응답을 처리하고, catch
블록에서 에러 응답을 처리할 수 있습니다.
위의 예시 코드들은 응답 상태 코드 처리를 간단하게 보여주기 위한 것이며, 실제로는 다양한 상황에 따라 좀 더 복잡한 처리가 필요할 수 있습니다. 하지만 이러한 기본적인 처리 방법을 숙지하고 있다면 서버로부터 반환되는 응답 상태 코드를 적절히 대응할 수 있을 것입니다.