微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Fetch Keep Alive 未按预期工作

如何解决Fetch Keep Alive 未按预期工作

我正在开发 AngularJS 1.6 版本。 在我的 app.controller.js 中,我添加了三个事件侦听器并附加了一个 deleteStudent 方法

window.addEventListener('beforeunload',this.deleteStudent,false);
    window.addEventListener(
      'unload',() => {
        this.deleteStudent
      },false
    );
    window.addEventListener('pagehide',false);

deleteStudent() {
 let Url = "http://localhost:9000/students/3";
    const deleteMethod = {
      method: 'DELETE',headers: {
        'Content-Type': 'application/json'
      },keepalive: true
    };
    fetch(Url,deleteMethod);
}

API 调用未到达后端,而是在 chrome 网络选项卡上列为待处理状态。

*上面使用的删除 API 是在 Node js 中创建的,并且可以与 postman 一起使用。

我只需要在页面卸载时调用这个 API,建议使用带有 keep-alive 属性的 fetch API true 或使用 sendbeacon( ),但我的后端 API 是 DELETE 类型,因此我不能使用 sendbeacon(),因为它只支持 POST。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。