Nuxt-服务器端的Axios请求未发送引荐来源

时间:2019-01-15 20:59:10

标签: node.js vue.js axios nuxt.js

故事

我的后端应用程序为我的网站页面提供SEO信息。这些信息之一是OpenGraph元标记,例如og:typeog:url。 API通过HTTP“ Referer”标头提供og:url值。

我现在在做什么

我正在使用Axios模块发出请求。 通过页面中的asyncData函数,我可以获得req变量,它是我想要的headers.referer属性,如下所示:

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

问题

假设我在索引页面上,那么我单击了指向动态页面的链接,但出现错误,因为在导航时reqasyncData函数上不可用,我想

问题

如何动态获取我的请求引荐来源,以将Axios请求与客户端和服务器端请求一起发送?

有关版本的信息:
  • nuxt:1.4.2
  • @ nuxtjs / axios:5.3.1

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

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