2013-08-31 3 views
0

나는 간단한 MySQL 데이터베이스 활동으로 PHP 프로그램을 만들었습니다. 이 모든 기능은 Chrome 및 Firefox에서 제대로 작동하지만 Internet Explorer (IE)에서는 문제가 있습니다. 추가 및 검색 할 때 Chrome 및 Firefox에서 추가 된 모든 데이터를 볼 수 있지만 IE에서는 표시되지 않습니다. IE를 닫고 다시 시작하면 마지막으로 추가 된 데이터가 표시됩니다. 그것은 나에게 캐시 (? 플러시) 문제가 보인다 따라서 다음 cleach 캐시 코드 추가 :추가 된 데이터는 Internet Explorer를 다시 시작한 후에 만 ​​표시됩니다.

<?php 
header("Expires: Tue, 01 Jan 2000 00:00:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
?> 

을하지만이 작동하지 않습니다. Internet Explorer 11을 사용하고 있습니다. 누군가가이 성가신 문제를 해결하는 데 도움을 줄 수 있습니다.

+0

혼자서 발견했습니다. 그것은 AJAX 문제가되고 임의 값을 추가하면 문제가 해결됩니다. 좋아요. 해킹이 조금 있지만 작동합니다. 자세한 내용은 다음을 참조하십시오. http://viralpatel.net/blogs/ajax-cache-problem-in-ie/ – Qwyrp

답변

0

문제는 사이트가 캐시 된 리소스의 신선도 수명을 지정하지 못하여 IE가 추론을 사용하도록하는 것입니다. http://msdn.microsoft.com/en-us/library/bb250442(v=vs.85).aspxhttp://blogs.msdn.com/b/ie/archive/2010/07/14/caching-improvements-in-internet-explorer-9.aspx

캐시 헤더는 올바르게 지정해야 사용할 수 있습니다. 당신은 에서 Pragma 또는 사후 검사 사전 확인 보내지한다. 다음과 같이

귀하의 헤더가 있어야한다 :

Expires: Tue, 01 Jan 2000 00:00:00 GMT 
Cache-Control: no-cache, no-store, max-age=0 

이 (에 의해 설계, 서버의 캐시 지시를 무시) 뒤로/앞으로 탐색 이외의 캐시 된 응답을 재사용에서 IE를 방지 할 수 있습니다.

관련 문제