evgeniy8705
@evgeniy8705
Повелитель вселенной

Как сделать чтобы xhr запросы не кэшировались?

На данный момент чат (из скринкаста Ильи Кантора), работает не совсем правильно. Сообщения отправляются по очереди, то собеседнику, то мне. В комментариях подсказали что потому что кэшируются xhr запросы.
Решение: добавить к пути запроса уникальный id.
xhr.open("GET", "/subscribe?id=" + Math.random().toString().split('.')[1], true);

Можно ли как то без этой генерации псевдослучайного идентификатора? Есть ли другой способ?

В коде на github, у Ильи, немного измененная версия чата, которая показана в видео. Работает все точно также с ошибками.
Но есть одна примечательная строка
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // Чтобы что то не кэшировалось... К чему именно это относится, хз. голова уже кругом от непонимания всего и вся.

Не знаю имеет ли это отношение к вышеупомянутому xhr запросу, но без генерации уникального пути запроса, происходит кэширование.
  • Вопрос задан
  • 530 просмотров
Решения вопроса 1
xhr.open("GET", "/subscribe?_=" + new Date().getTime(), true);
// или
xhr.setRequestHeader('Cache-Control', 'no-cache');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы