2012-03-29 2 views
0

Я использую Flexigrid в своем веб-приложении. Когда пользователь добавляет или удаляет запись, появляется функция $ ("# display"). Функция flexReload будет вызываться, но она не работает в IE. Мне нужно перезагрузить IE или очистить кеш браузера вручную. Любая идея? Спасибо заранее.проблема flexReload в IE

ответ

1

Есть два пути решения этой проблемы

**Server side solution:** Set the HTTP headers of the response to avoid returning response from cache. 

In HTML: (in the header) 

<META HTTP-EQUIV=”Cache-Control” CONTENT=”no-cache”> 
<META HTTP-EQUIV=”expires” CONTENT=”0″> 

In PHP: (in the script) 

header(”Cache-Control: no-cache, must-revalidate”); 
header(”Expires: Mon, 26 Jul 1997 05:00:00 GMT”); 

In JSP: (before writing to the output stream) 

response.setHeader(“Cache-Control”,”no-cache”); 
response.setDateHeader (“Expires”, 0); 

**Client side solution:** (1) Make HTTP POST call — only HTTP GET calls are served from cache or (2) Make sure the HTTP GET URL is different every time. 

(1) Make HTTP POST call – 
set method=”POST” and handle the call appropriately 

(2) Append a unique parameter to the HTTP GET call so that the URL is different every time. A unique time stamp is a good choice. 
The following sample code, may do the job: 

var timeStampForNocache:Date = new Date() ; 
params.noCacheControlVar = timeStampForNocache.getTime().toString() ; 
I have named the parameter “noCacheControlVar”. You can name it anything else you please. The name does not matter. What matters is that the timestamp makes the HTTP GET URL unique. 

С Днем Coding !!!