2009-11-05 7 views

답변

0

브라우저에서 제어하는대로 실제로 캐시를 지울 수는 없지만 다음 옵션을 사용하여 캐시하지 않으려면 다음과 같이하십시오. cache: false.

$.get('/callback/', {cache: false}); 
+2

이것은 한 번 해결할 수있는 매개 변수이며 "cache"매개 변수의 이름을 지정하면 특별한 의미를 지니고 있다고 잘못 생각하는 것입니다. – cburgmer

+0

@cburgmer, 실제로'cache'는 $ .get이 단지 래퍼 일 뿐이므로 jQuery의 $ .ajax 메소드의 매개 변수이므로 실제로는 정답입니다. false로 설정하면 요청한 페이지가 브라우저에 의해 캐시되지 않도록 강제합니다 참고 : 캐시를 false로 설정하면 HEAD 및 GET 요청에 대해서만 올바르게 작동하며 GET 매개 변수에 "_ = {timestamp}"를 추가하여 작동합니다 . " – typeoneerror

5

당신이 URL에 어떤 임의의 인수를 추가 할 수 있습니다 캐시 우회하려면 :

var url = 'http://example.com/ajax?' + (new Date()).getTime(); 
+3

당신은 방금 새로운 바퀴를 발명했습니다. 축하 :-) –

1
<script> 
var counter = 0; 
var counterValue = 0; 

function submitForm() 
{ 
     counter = counter + 1; 
     counterValue = counter; 
     var params = $("#DetailForm").formSerialize(); 
$("#DetailViewDiv").load("./shopmart/priceDetail.jsp?counterValue="+counter+"&"+params, 
function(){$("#PriceTagDiv").show();}); 

} 
</script> 

당신은 모든 요청에 ​​대해 카운터를 추가합니다.Ajax는 호출을 캐시하지만 매번 카운터가 증가하므로 jsp를로드하는 매개 변수가 달라집니다.

관련 문제