캐시 문제
- XMLHttpRequest는 기본적으로 동일한 url을 호출할 경우 캐시 기능을 제공한다.
- 캐시 기능을 원하지 않을 경우, 요청하려는 url 뒤에 현재시간을 parameter로 추가하여 동일한 url이라도 호출할 때마다 매번 url이 달라지도록 하여 캐시문제를 해결한다.
var xhr = new XMLHttpRequest();
var url = "http://ggobugi.tistory.com";
xhr.open('GET', url + ((/\?/).test(url) ? "&" : "?") + (new Date()).getTime(), true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200 || xhr.status == 0) {
console.log("success!");
} else if (xhr.status == 404) {
console.error("not found!");
}
}
};
xhr.send(null);
jQuery의 경우 cache 옵션이 존재하며, 이 값을 설정해주면 된다.
var ajaxReq = $.ajax({
url: "http://ggobugi.tistory.com",
cache: false
statusCode: {
404: function() {
console.error("not found!");
}
}
})
.done(function(data) {
console.log("success!");
})
.fail(function() {
console.error("fail!");
});
'개발 > JavaScript' 카테고리의 다른 글
[JavaScript] 실행 영역(Execution Context), Scope, Closure (0) | 2016.11.21 |
---|---|
Java script & DOM (0) | 2013.07.30 |