ОсновноеRadiotalkПользовательское
Технологии вещания, софт, скрипты
7   •   Посмотреть все темы

Проблема с обновлением в ajax

 

30
Alexander @Alexander_Sizintsev
И так, прошу помощи уважаемые коллеги, особенно те кто очень хорошо разбираются в js и технологии ajax. Проблема в следующем: на сайте радио есть блок где показывается текущий играющий трек, информация обновляется путем технологии ajax и запроса каждые 20 секунд. Все работает отлично, есть только одна проблема, которая вымораживает лично меня... это проблема которая возникает по истечении некоторого времени после запуска страницы. часть страницы постоянно обновляется и как мне кажется постоянно кэшируется и соответственно начинает тупить...

Как я понимаю решить ее можно на уровне ajax запроса, поставил cache: false но похоже это немного не то и не работает так как нужно...

Что делать?

код ajax:
  1.  
  2. <div id="show"><span id='unff'></span></div>
  3. <script>
  4. function show()
  5. {
  6. $.ajax({
  7. url: "demo.php",
  8. cache: false,
  9. success: function(html){
  10. $("#show").html(html);
  11. }
  12. });
  13. }
  14. $(document).ready(function(){
  15. show();
  16. setInterval('show()',20000);
  17. });
  18. document.getElementById('unff').innerHTML = 'Загрузка...';
  19. </script>

0
6245
Тарас @tarasian666
в js и технологии ajax.

а тут помимо еще и jQuery который я ненавижу(
в документации заявлено что cache: false отключает кэш, если все ровно кэширует значит еще один повод ненавидить jQuery

0
30
Alexander @Alexander_Sizintsev
tarasian666 пишет:

в js и технологии ajax.

а тут помимо еще и jQuery который я ненавижу(
в документации заявлено что cache: false отключает кэш, если все ровно кэширует значит еще один повод ненавидить jQuery


Зря хорошая штука...
Но вот как исправить ума не приложу... потому-как кеша получается реально много

0
129
UAFM @UAFM
А почему не хочешь обновлять просто с помощью ява. Можно один блок, без перезагрузки страницы. Результат тотже.
  1. <script type="text/javascript">
  2. var auto_refresh = setInterval(
  3. function ()
  4. {
  5. $('#refresh').load('/=' +Math.random()).fadeIn("slow");
  6. //#stati - div, куда будет выводиться информация
  7. //static.php - скрипт, выводящий необходимую нам информацию
  8. }, 10000); //интервал обновления, в миллисекундах
  9. </script>

Отредактировано UAFM - 15.07.2012
0
11
Юрий @NowinSky
у меня точно такая же трабла. я тоже попытался отрубить кеш но результат аналогичный. что касается предложенным ява вариантом то и он не сработает пока к странице подключен jquery . вы должны прекрасно понимать что jq основан на яве а значит имеет его обычаи. я вот задумываюсь уже и не копать в сторону jq а попробовать очищать кеш при помощи php. буду неимоверно благодарен если кто то подскажет куда копать

0
201
burn @burn
Попробуйте **********.

  1.  
  2. url: "demo.php?rnd="+Math.random(),


У UAFM, кстати, уже есть в коде.

0
7094
Dim @Render
Сколько пользуюсь jquery+ajax, никогда проблем с кешем не возникало :)
Для статики (html, txt, json, etc), да, вырубаем кеш и не лишнем будет прописан рандом в конце URL к файлу вида track.html?r=(рандом).
Для php же, вообще можно кеш оставлять включенным по умолчанию.

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.