窗口关闭以后,会自动执行onunload方法,现在想在onunload里面加个异步更新处理,不知道可行吗?
网上找资料,有些人说因为窗口已经关闭了,没法执行ajax返回的结果(错误/正确)?是这样的吗
窗口关闭以后,会自动执行onunload方法,现在想在onunload里面加个异步更新处理,不知道可行吗?
网上找资料,有些人说因为窗口已经关闭了,没法执行ajax返回的结果(错误/正确)?是这样的吗
谢谢一楼朋友的回复。查找各种文档得到下面结论。
1.unload发送的ajax请求是有发出的动作的,但是因为浏览器会kill所有处理,所以请求可能到了服务器,也可能到不了。
2.callback是肯定不会执行的。
还有一种场景,在onUnloa里面执行删除indexedDB操作
const onUnLoad = () => {
console.log('----onUnLoad---')
localforage
.removeItem(SIMULATION_RESULT)
.then(() => {
alert('success')
console.log('00000000')
})
.catch(e => {
console.log('error', e)
})
}
刷新的时候会执行----onUnLoad---
但是不会真正删除数据。
关闭页面的时候两者都会执行
8 回答4.9k 阅读✓ 已解决
6 回答3.6k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.5k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
执行不了。但是请求肯定是发出去的。
下面是三个关闭时发请求的测试demo,ajax的结果在network里面可以看
https://www.lilnong.top/stati...
https://www.lilnong.top/stati...
https://www.lilnong.top/stati...