IT/Others

Ajax 통신시 캐시 문제 해결 방법

승돌 2022. 6. 24. 10:20
반응형

Ajax를 사용하여 서버와 데이터를 교환할 때, 웹 브라우저는 효율성을 높이기 위해 자동으로 응답을 캐시합니다.

하지만 이로 인해 새롭게 갱신된 데이터를 제대로 받아오지 못하는 문제가 발생할 수 있습니다.

 

이럴 때 사용할 수 있는 두 가지 해결 방법은 다음과 같습니다:

 

1. Ajax 옵션에 cache: false 추가하기

이 방법은 jQuery의 Ajax 요청에 cache: false 옵션을 추가함으로써 해결합니다.

이 옵션은 요청 시마다 URL 끝에 타임스탬프를 추가하여, 브라우저가 이전 버전의 데이터를 캐시에서 가져오는 것을 방지합니다.

$.ajax({
    url: 'your-url',
    cache: false,
    // 기타 옵션
});

 

2. URL에 임의의 파라미터 추가하기

또 다른 방법은 URL에 임의의 파라미터(예: 랜덤 값)를 추가하여 매번 다른 URL로 요청하는 것입니다. 이 방법도 캐시된 데이터 대신 새로운 데이터를 가져오도록 합니다.

 

$.ajax({
    url: 'your-url?' + Math.random(), // Math.random()으로 매번 다른 URL 생성
    cache: false,
    // 기타 옵션
});

 

두 방법 모두 캐시 문제를 해결하는 데 효과적이며, 상황에 따라 적절한 방법을 선택할 수 있습니다.

이러한 방법을 사용함으로써 사용자에게 항상 최신의 데이터를 제공할 수 있으며, 데이터의 일관성을 유지할 수 있습니다.

반응형