IE 11 проблема - автоматически кэшировать ответы от GET-запросов - Reactjs - PullRequest
0 голосов
/ 07 февраля 2019

Я делаю GET-запрос к веб-сервису для вызова AJAX.Internet Explorer автоматически выполняет кеширование ответов от GET-запросов.

  • Запросы работают нормально только при первой попытке.
  • При изменении данных я все еще вижу старые результаты.
  • В других браузерах все работает правильно.

Это код,

export function fetchReportSet () {
  return function(dispatch) {
       axios.get(`${ROOT_URL}/api/reports/`, {
         headers: {Pragma: 'no-cache'},
         headers: {Authorization:'Token '+ localStorage.getItem('token')}
       })
           .then(response => {
             dispatch({type: FETCH_REPORT , payload: response.data});
           })
           .catch(() => {
           });
  }
}

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 11 февраля 2019

Попробуйте обратиться к этому потоку , чтобы добавить метку времени в URL, или к этой статье , чтобы добавить набор заголовков Cache-Control: no-cache.

Код такой:

import axios from 'axios';
import { cacheAdapterEnhancer } from 'axios-extensions';

const http = axios.create({
    baseURL: '/',
    headers: { 'Cache-Control': 'no-cache' },
    // cache will be enabled by default
    adapter: cacheAdapterEnhancer(axios.defaults.adapter)
});

http.get('/users'); // make real http request
...