【问题标题】:How can I make a request and NOT wait for response before redirecting?如何在重定向之前发出请求而不等待响应?
【发布时间】:2021-12-23 08:53:55
【问题描述】:

我在 Vue 应用程序中使用 Axios。我想向我的后端发送一个请求(记录单击按钮),但不等待响应,然后将客户端重定向到另一个页面。现在,请求发出,重定向立即发生,初始请求被“取消”,我的后端不处理请求。

我只想触发该请求,然后重定向而不是取消初始请求。我该怎么做?

【问题讨论】:

  • 这不会发生。当页面导航离开时,浏览器会终止请求。传统的 http 请求在这里不起作用。
  • 这就是 SPA 的工作方式。当客户端路由器通过 history.push 导航到另一个 url 时,页面不会重新加载。问题表明您目前不这样做,是吗?

标签: javascript vue.js axios


【解决方案1】:

感谢大家的cmets。似乎 sendBeacon 似乎已经被削弱了,因为您无法发送内容类型的应用程序/json,并且 this article 表示它不可靠。所以我在我的 Vue 组件中使用了以下解决方案:

onClickLink: async function () {
  var img = new Image()
  img.src = `/my/path/to/controller/${this.$route.params.id}`

  window.location.href = externalLinksFile.new_url
}

【讨论】:

    猜你喜欢
    • 2011-01-12
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多