正确的在unload事件中发起请求
总结
在unload
与beforeunload
事件中我们应当使用Navigator.sendBeacon函数来进行请求的发送,以避免以下问题:
- 异步请求发送很可能失败
- 同步请求导致了页面卸载被延迟
同时,我们应当做兼容性检查,如果浏览器不支持sendBeacon
时,可采用同步请求的方式处理
参数
参数是将要发送的
ArrayBufferView
或Blob
,DOMString
或者FormData
类型的数据。
JSON参数示例
1 |
|
FormData示例
1 |
|
其它
如何设置header?
暂未找到设置header的方法,目前的处理是,将token作为参数传递到后台,由后台单独处理
参数大小限制
大约为65536(2^16),不同浏览器不同版本可能不一样
参考资料
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!