Nuxt - Axios запросы на стороне сервера не отправляют реферер - PullRequest
0 голосов
/ 15 января 2019

История

Мое бэкэнд-приложение предоставляет SEO-информацию для страниц моих сайтов. Одной из этих сведений являются метатеги OpenGraph, такие как og:type и og:url. og:url значение задается API через заголовок HTTP "Referer".

Что я делаю сейчас

Я использую модуль Axios для выполнения своих запросов. Через функцию asyncData на моих страницах я могу получить переменную req, и это свойство headers.referer, что я и хочу, например:

// page.vue
async asyncData({ app, req }) {
  app.$axios.setHeader('Referer', req.headers.referer);
}

Проблема

Если я нахожусь на странице индекса, скажем, тогда я нажимаю на ссылку на динамическую страницу, я получил ошибку, поскольку req недоступен в функции asyncData во время навигации, Полагаю, .

Вопрос

Как я могу динамически заставить мои рефереры запросов отправлять его с запросом Axios как на стороне клиента, так и на стороне сервера?

Информация о версиях:
  • nuxt: 1.4.2
  • @ nuxtjs / axios: 5.3.1

1 Ответ

0 голосов
/ 16 января 2019

Вы можете сделать что-то вроде этого:

async asyncData({ app, req }) {
  const referrer = process.client ? window.document.referrer :  req.headers.referer
  app.$axios.setHeader('Referer', referrer)
}
...