介绍
Navigator.sendBeacon-wo-Creds 是一个 npm 包,用于在不带凭据的情况下向服务器发送数据。它可用于在浏览器关闭时发送数据,并在不需要服务器响应的情况下使用。该包的目的是解决传统的 XMLHttpRequest 和 fetch API 在浏览器关闭时无法正常工作的问题。
用法
安装 Navigator.sendBeacon-wo-Creds:
npm install navigator.sendbeacon-wo-creds
在你的代码中引入 Navigator.sendBeacon-wo-Creds:
const beacon = require('navigator.sendbeacon-wo-creds');
发送数据:
beacon('https://example.com', JSON.stringify({ name: 'John', age: 30 }));
以上代码将一个包含名字和年龄的对象作为 JSON 字符串发送到 https://example.com。
注意:该方法只能发送字符串。如果你需要发送二进制数据,则需要在客户端和服务器端分别使用 ArrayBuffer 和 Buffer。
指导意义
Navigator.sendBeacon-wo-Creds 可用于以下场景:
- 浏览器关闭时发送数据
- 不需要服务器响应时发送数据
- 数据不包含敏感信息
请注意,在使用 Navigator.sendBeacon-wo-Creds 时必须小心处理数据。由于该方法不支持添加 HTTP 标头,因此不适合发送包含敏感信息的数据。如果需要发送敏感信息,请使用 XMLHttpRequest 或 fetch API。
示例代码
以下是一个使用 Navigator.sendBeacon-wo-Creds 发送数据的示例代码:
-- -------------------- ---- ------- ----- ------ - ----------------------------------------- --------------------------------- -- -- - ----- ---- - ---------------- ----- ------- ---- -- --- -- ---------------------- - ----------------------------- ------ - ---- - ----- --- - --- ----------------- ---------------- ---------------------- ------- ------------------------------------ -------------------- --------------- - ---
以上代码在浏览器关闭前发送一个包含名字和年龄的 JSON 对象到 https://example.com。如果浏览器支持 Navigator.sendBeacon,则使用该方法发送数据。否则,使用 XMLHttpRequest 发送数据。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/196558