2016-01-11 3 views
0

Я использую JQuery Datatables для отображения списка зарегистрированных пользователей. Он содержит для каждого человека ячейку с изображением, дату/время входа в систему, имя, информацию. Пользователь может обновить изображение своего профиля, которое отображается в одной из ячеек. Datatable обновляется каждые две секунды с помощью этого:jQuery Проблемы с кэшем данных с изображениями

ajax: 'scripts/loggedinlist.php', 

setInterval(function(){ 
    mytable.fnReloadAjax('scripts/loggedinlist.php'); 
}, 2000); 

Когда пользователь обновляет свою фотографию, он продолжает появляться старый. Мне нужно очистить кеш браузера, чтобы увидеть новый.

Я попытался добавить опцию

cache: false 

и я отключил кэширование chromes браузера Google - по-прежнему не работает.

Кто-нибудь знает, как исправить эту проблему?

Спасибо!

+1

Вы можете сделать URL с DateTime 'img.png? + Новая Дата() .getTime() 'это будет давать каждый раз новое изображение без кеша. –

+0

Привет, это работает очень хорошо! Но это приводит к тому, что Datatable мерцает. Похоже, я должен попытаться сохранить последнее обновленное время() в базе данных и добавить его в качестве параметра, поэтому он изменяется только в случае внесения изменений, правильно? –

+0

Используйте его только при показе. –

ответ

2

Вы можете сделать URL с img.png?+new Date().getTime() или у вас есть lastupdated поля img.png?+lastupdated

, который получит решить вашу проблему с imagecache

0

Вы можете попробовать что-то вроде этого.

setInterval(function(){ 
    $("#Your_Table_Id").dataTable().fnDraw(); 
}, 2000); 
+0

попытайтесь получить свое изображение из своего запроса, и поскольку вы используете данные, то, очевидно, вы можете отредактировать столбец и настроить путь к изображению. Сообщите мне, если вы не понимаете нигде. –

Смежные вопросы