gpt4 book ai didi

javascript - 需要在 navigator.sendbeacon() 中授权

转载 作者:行者123 更新时间:2023-11-29 22:58:25 26 4
gpt4 key购买 nike

我的问题是,当我调用一个监听事件 onBeforeUnload() 的函数时,我想发布一个数据。问题是我的请求未经授权。我需要在某处添加我的承载,但我不知道如何。

这里是我的实际代码:

@HostListener('window:beforeunload', ['$event'])
onBeforeUnload(): void {
navigator.sendbeacon(`${localhost:8080/apiRest}`, infoIWantToSent);
}

目前,请求发送 401:unhautorized,这是正常的,因为我没有传输任何承载。

最佳答案

我找到了这个解决方案:

@HostListener('window:beforeunload', ['$event'])
onBeforeUnload(): void {
fetch('url', {
keepalive: true,
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`,
},
body: JSON.stringify(infoIWantToSent),
});
}

显然,如果我们必须使用 token 连接,则不能使用 navigator.sendbeacon() https://w3c.github.io/beacon/#sec-sendBeacon-method它适用于几乎所有情况,但当我关闭包含我的页面的 iframe 时则无效。

关于javascript - 需要在 navigator.sendbeacon() 中授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56131973/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com