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

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

 

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

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

Что делать?

код ajax:

<div id="show"><span id='unff'></span></div>
<script>

function show()

{

$.ajax({

url: "demo.php",

cache: false,

success: function(html){

$("#show").html(html);

}

});

}

$(document).ready(function(){

show();

setInterval('show()',20000);

});
document.getElementById('unff').innerHTML = 'Загрузка...';
</script>

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

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

30
Alexander @Alexander_Sizintsev
tarasian666 пишет:

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

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


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

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

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

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


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


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

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