页面关闭时发起接口请求

方法一:使用Navigator sendBeacon进行请求Navigator.sendBeacon()

navigator.sendBeacon()

Navigator.sendBeacon() - Web API 接口参考 | MDN

方法可用于通过 HTTP POST 将少量数据 异步 传输到 Web 服务器。

缺点: 无法配置请求头导致请求424 目前我还不会配置

方法二:使用fetch() 的 keep-alive:true 进行请求

window.addEventListener('beforeunload', (e)=>{
      //navigator.sendBeacon(`******`,data)
      fetch(`*****`,{
        keepalive:true,
        headers:{
          Authorization:'Bearer ' + store.getters.access_token,// token
          'TENANT-ID':store.getters.TENANT_ID,
          VERSION:store.getters.VERSION
        }
      })
})

缺点:不清楚为啥会多次调用 可能是多次进入这个页面没有remove监听事件 

就是因为没有remove监听事件vue项目中 在beforeDestroy中remove一下监听事件就不会出现重复请求的情况了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值