반응형
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,
// 기타 옵션
});
두 방법 모두 캐시 문제를 해결하는 데 효과적이며, 상황에 따라 적절한 방법을 선택할 수 있습니다.
이러한 방법을 사용함으로써 사용자에게 항상 최신의 데이터를 제공할 수 있으며, 데이터의 일관성을 유지할 수 있습니다.
반응형
'IT > Others' 카테고리의 다른 글
[GIT] gitignore가 적용되지 않을 때, 제대로 작동 안 할 때 (0) | 2022.07.06 |
---|---|
Highcharts API로 series name, data 배열로 넣기(시리즈 데이터 동적으로 추가하기) (0) | 2022.07.04 |
JavaScript의 opener & iframe 사용하기 (0) | 2022.06.24 |
[JSTL] td 감싸기, JSP와 JSTL을 활용한 동적 데이터를 테이블로 효율적으로 표현하기 (0) | 2022.06.20 |
[JSP] EL / JSTL 개념 (0) | 2022.06.20 |