2009-06-04 5 views
0

나는 항상 같은 결과를 얻을 첫 번째 호출 후이 코드두 번째 호출에 allways

<script type="text/javascript"> 
$(function() { 
    $('#DoTask').click(function(event) { 
     event.preventDefault(); // added this 
     $.getJSON('/TareasBackGround/DoTaskInteractivo', null, 
       function(response) { 
        $('#ResultadoEjecutarTarea').html("<br />Resutado:" + response.result); 
        $('#ResultadoEjecutarTarea').css("style", ""); 


       }); 
    }); 
}); 

를 사용하여 첫 번째 결과를 얻을. 이를 확인하기 위해 결과에 시간 소인을 추가합니다.

아이디어가 있으십니까?

답변

4

이 추가 :

$.ajaxSetup ({cache: false}); 

오른쪽 클릭 이벤트의 위. 이렇게하면 ajax 요청이 캐싱되지 않습니다.

1

아마도 첫 번째 결과가 캐싱 될 것이므로 두 번째 요청할 때 동일한 (캐시 된) 타임 스탬프를 얻습니다.

1

응답이 아마도 캐싱되었습니다. false로 아약스 option 캐시를 설정하거나 요청에 타임 스탬프를 추가 할 수 있습니다

currentTime= (new Date()).getTime();  
url = '/TareasBackGround/DoTaskInteractivo?_=' + currentTime; 
+0

캐시를 어떻게 끄나요? –

+0

'/ TareasBackGround/DoTaskInteractivo? _ = [현재 시간 (밀리 초)]'like this '/ TareasBackGround/DoTaskInteractivo? _ = <% = DateTime.Now.Millisecond %>'같은 행동을하십시오. –

+0

서버에서 한 번만이 아니라 클라이언트에서 현재 시간을 다시 계산해야합니다. – kgiannakakis

관련 문제