【问题标题】:Nuxt - Axios requests on server side not sending refererNuxt - 服务器端的 Axios 请求不发送referer
【发布时间】:2019-06-09 22:18:46
【问题描述】:

故事

我的后端应用程序为我的网站页面提供 SEO 信息。这些信息之一是 OpenGraph 元标记,例如 og:typeog:urlog: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

【问题讨论】:

  • 也许您可以为此使用axiso interceptors。看例子axios.interceptors.response.use(function (response) {...

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


【解决方案1】:

你可以这样做:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2021-08-20
    • 2020-05-09
    • 2020-03-22
    • 2012-11-11
    相关资源
    最近更新 更多