Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как отключить кэширование GET-запроса? React.

Mr. 404 Мудрец (10690), на голосовании 12 месяцев назад
Пользователь выходит из системы с помощью GET-запроса. Когда он пробует повторно нажать "выйти" должна выскочить ошибка, но так как произошло кеширование, возвращается 200. Как отключить кеширование? Спасибо .
Голосование за лучший ответ
Semen Kapacuk Гуру (3750) 1 год назад
В реакте у пользователя не должно быть кнопки "Выйти", если он уже вышел
Mr. 404Мудрец (10690) 1 год назад
допустим, я хочу чтоб кнопка всегда была ) я хочу разобраться
Semen Kapacuk Гуру (3750) Mr. 404, я такое не допускаю, но возможно тебе поможет метатег cache-control
Sergio 2.1 Оракул (67303) 1 год назад
Вам может помочь использование библиотеки axios для отправки HTTP-запросов. Вы можете добавить заголовок Cache-Control со значением no-cache в ваш GET-запрос, чтобы предотвратить кэширование.

Вот пример кода:
 import axios from 'axios'; 

axios.get('your-url', {
headers: {
'Cache-Control': 'no-cache'
}
})
.then(response => {
// Обработка ответа
})
.catch(error => {
// Обработка ошибки
});
Mr. 404Мудрец (10690) 1 год назад
спасибо! теперь другая проблема: ошибка выскакивает, но так как есть интерцептор, она зацикливается и во вкладке network сыплются 401-ые одна за другой. КАК ЭТО ОСТАНОВИТЬ? когда убираю интерцептор, всё ок. но его надо оставить. вот код интерцептора, где ошибка?
Mr. 404Мудрец (10690) 1 год назад
 $api.interceptors.response.use(config => config,  
async error => {
const originalRequest = error.config
if (error.response.status == 401 && originalRequest && !originalRequest._isRetry) {
originalRequest._isRetry = true
try {
const response = await authApi.refresh()
localStorage.setItem('token', response.data.accessToken)
return $api.request(originalRequest)
} catch (e) {
console.log('НЕ АВТОРИЗОВАН')
}
}
throw error
})

Dlazder Мудрец (16875) 1 год назад
Лол, так кнопка должна исчезнуть после этого
Mr. 404Мудрец (10690) 1 год назад
ну а вот я хочу чтоб была кнопка научиться
Похожие вопросы