2010-12-08 4 views
1

다음 설정 cache : true와 같이 ajax 호출을 작성합니다. 하지만 그때조차도 캐시에 아약스 호출 결과를 저장하지 않으며 항상 똑같은 일을 아약스 호출로 만듭니다.Jquery ajax 호출 결과 캐시 문제

$.ajax(
          { 
           url: 'abc.aspx/getInfo', 
           cache: true, 
           type: 'POST', 
           data: '{userID: "' + id+ '"}', // id is a variabe 
           contentType: 'application/json; charset=utf-8', 
           dataType: 'json', 
           beforeSend: function() { 
            // somthing... 
           }, 
           success: function(response, textStatus) { 
           // something.... 
           } 
          } 

왜 그런 일이 일어 났는지 말해 줄 수 있습니까? 어떻게 해결할 수 있을까요?

답변

0

IIRC 캐시는 GET 요청과 함께 작동합니다. POST 요청의 경우 서버 측 스크립트가 적절하게 HTTP cache headers을 보내야합니다.

+0

'POST'를 사용하려고했습니다. 그러나 그것은 약간의 오류를 보여주었습니다. 그래서 'POST'를 'GET'으로 바꿀 수 – ANP

+0

POST를 GET으로 바꾸면 캐시가 작동합니다. –

+0

하지만 POST를 GET으로 대체했을 때 데이터베이스에서 데이터를 가져 오는 데 사용되는 codebehid의 함수가 실행되지 않았고 방화 광에서 403 Forbidden 오류가 표시되었습니다. – ANP