Hi,
I'm using Prototype 1.6.0.3. I spent a lot of time searching the net
for solutions to this and found a few good suggestions/hints. The most
relevant is the following, which talks about the exact problem I'm
having:
https://prototype.lighthouseapp.com/projects/8886/tickets/175-ajax-updater-not-working-correctly-under-ie-opera
I have a page, sitting at
www.domain.com/folder which opens a popup.
This popup then uses Ajax.Updater to update a div on
www.domain.com/folder
(the parent/opening page). In FF this works fine. In IE it works the
first time but not subsequent times. After the parent page is
refreshed.
I've tried setting the http headers in the indexSuccess module/actions/
actions.class.php as suggested here
http://greenash.net.au/posts/thoughts/an-ie-ajax-gotcha-page-caching
$this->getResponse()->setHttpHeader('Last-Modified', gmdate("D, d M Y
H:i:s")." GMT");
$this->getResponse()->setHttpHeader('Cache-Control', 'no-store, no-
cache, must-revalidate, post-check=0, pre-check=0');
$this->getResponse()->setHttpHeader('Pragma', 'no-cache');
This hasn't worked.
I also noticed in the updateContent function in Ajax.Updater, there is
a call: receiver.update(responseText); (line 1468 or so)
The first time through, this call is executed and the resulting call
is made to the IE specific update function on line 2449. The second
time through, this function doesn't seem to get called at all.
I also tried creating a unique URL for the ajax request by appending
the current timestamp to the end of
www.domain.com/folder?timestamp=12311312312.
This creates two unique subsequent URLs for the Ajax.Updater call but
the call to receiver.update still seems to fail.
Does anyone have ideas on what is going on? Am I not setting my http
headers in the right place?
Thanks,
Avichal