2013-10-03 1 views
1

페이지를로드하여 div에 넣으려고합니다.Ajax Load -로드를 강제하는 방법

코드 :

$("#test").load("page.php"); 

문제는 파일 'page.php가'정말 없는 것 같다, 내가 할 때 가끔 이 스크립트를 다시 실행을 장전 한 번 이다을 다시로드하면이 파일이 캐시 또는 이와 유사한 것으로 보입니다.

PHP 요청을 처리하기 때문에 실제로 문제가 발생합니다.

답변

3

:

는 여기에 예제 코드입니다. .load은 그냥 ajax 호출이고 cache은 기본값으로 true입니다.

$.ajaxSetup ({ 
    cache: false 
}); 
4

브라우저가 요청을 캐싱 중입니다. 그것은 얻을 것이다 결과를 알고 있다고 생각하기 때문에 요청을 보내지 않습니다.

URL을 수정하려면 동적 인 get 매개 변수를 URL 끝에 추가하십시오. 그러면 브라우저가 매번 새로운 것을 기대하게됩니다. 당신은 ajaxSetup에 캐시하고 필요하지 않을 때 그것을 다시 재설정하지 않도록 강제 할 수

$("#test").load("page.php?v=" + Math.random()); 
2

캐시 문제입니다. ajaxsetup을 변경하거나 임의의 문자열로 무언가를 할 수 있습니다.

캐싱이 발생하는 이유는 동일한 URL을 두 번 요청했기 때문입니다. 그것은 이미 그 결과를 가져 왔습니다, 그래서 그것은 단지 캐시의 가치를 얻습니다. 간단한 트릭은 무작위가 someting 추가하는 것입니다 내 자신의 이익을 위해 (jQuery를이 같은 방식에 대해 그것을 않습니다)

+0

을 다른 GET 값을 덮어 쓰지 않기 때문에

$("#test").load("page.php?_"+Math.random()); 

내가 밑줄로 사용을 왜 수행 다른 게시물 upvotes 얻을, 그리고 그나마? 내 답장보다 더 좋은 정보는 전혀 없습니다. 내 미래의 게시물에 대해, 내가 옳지 않은 것은 무엇입니까? – Martijn

관련 문제