Как заставить axios использовать кэширование на стороне сервера? - PullRequest
0 голосов
/ 06 ноября 2018

В настоящее время я создаю приложение с Laravel API и интерфейсом Vuejs. Для API я использую пакет spatie/laravel-responsecache для обработки кэширования.

Если я захожу на URL напрямую, например http://api.mysite.com/users затем он извлекает данные и правильно их кэширует.

Однако, если URL, например, http://api.mysite.com/messages (тот, который я непосредственно не посещал) выбирается через axios на внешнем интерфейсе, он не кэшируется. Опять же, если я пойду и зайду к нему напрямую, он будет кэширован, а затем, если я получу его с внешнего интерфейса, он будет кэширован.

Как заставить axios использовать кэширование на стороне сервера без предварительной загрузки URL-адреса?

1 Ответ

0 голосов
/ 06 ноября 2018

Если вы посмотрите на профиль кэширования по умолчанию , вы увидите, что он ignores ajax requests.

Скопируйте этот файл, переместите его в свой собственный код, удалите:

if ($request->ajax()) {
   return false;
}

Затем обновите файл config/response_cache.php и укажите запись cache_profile на ваш файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...