Ajax Updater не работает в Internet Explorer - PullRequest
2 голосов
/ 12 января 2009

У меня проблема с Ajax Updater, которую я не могу решить. У меня есть этот код Servicii

Он отлично работает в Firefox, но в Internet Explorer ничего не делает. Также, если я открываю сайт со своего жесткого диска, он работает, но он работает только по ссылке, тогда мне нужно перезагрузить всю страницу ...

У кого-нибудь есть идеи, как решить эту проблему?

Спасибо

Ответы [ 2 ]

5 голосов
/ 12 января 2009

У меня была именно эта проблема. Я предполагаю, что у вас есть функция, которая периодически отправляет серверу запрос на получение данных, а затем обновляет страницу, если эти данные изменились с момента последнего запроса.

Internet Explorer будет кэшировать результаты вызовов Ajax на один и тот же ресурс, даже если вы указали это не в заголовках HTTP. Поэтому, если вы делаете запрос к get_data?id=whatever снова и снова, IE выполнит запрос один раз, а затем прекратит его выполнение в будущем и просто вернет результат первого запроса.

Решение состоит в том, чтобы добавить фиктивный параметр в строку запроса. Итак, сначала вы запрашиваете get_data?id=whatever&ie_hack=0, а затем get_data?id=whatever&ie_hack=1 и т. Д. Это остановит IE от кэширования результатов и заставит его делать запрос каждый раз, поскольку он видит разные строки запроса для каждого запроса.

2 голосов
/ 12 января 2009

Я также столкнулся с такой проблемой, не с кешированием, а с условиями гонки. IE выполнил часть рендеринга функции до того, как были возвращены любые данные. Вот проблема и решение:

Возвращенные разрывы HTML AJAX События кликов в IE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...