- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试发送 POST
请求 beforeunload
事件使用 navigator.sendBeacon
,但数据没有到达 PHP $_POST
.我认为这是因为在使用 navigator.sendBeacon
时标题 Content-Type
始终设置为 text/plain;charset=UTF-8
,但在我的情况下,因为我需要发送一个查询字符串,因此使用 application/x-www-form-urlencoded
.
var amountOfApples = 0;
...
addEventListener("beforeunload", function(e) {
navigator.sendBeacon("save.php", "key=apples&value=" + amountOfApples);
});
application/x-www-form-urlencoded
?
最佳答案
Content-Type
Beacon API 使用的 header ,取决于您传递给 sendBeacon
的实例类型第二个参数。
应用程序/x-www-form-urlencoded
发送application/x-www-form-urlencoded
, 使用 UrlSearchParams
实例。
var params = new URLSearchParams({
key : 'apples',
values : amountOfApples
});
navigator.sendBeacon(anUrl, params);
multipart/form-data
header ,使用
FormData
实例。
var params = new FormData();
params.append('key', 'apples');
params.append('value', amountOfApples);
navigator.sendBeacon(anUrl, params);
application/json
header ,使用
Blob
并设置其类型。
var data = {
key : 'apples',
values : amountOfApples
};
var params = new Blob(
[JSON.stringify(data)],
{type : 'application/json'}
);
navigator.sendBeacon(anUrl, params);
关于javascript - navigator.sendBeacon 与 application/x-www-form-urlencoded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45847276/
我对 navigator.sendBeacon('endpoint/', data) 有疑问。我有一个错误 Forbidden (CSRF token missing or incorrect.) 因
我正在使用 navigator用于与服务器通信,但问题是我们需要传递一些 header 信息,因为存在识别请求来自有效来源的过滤器。 有人可以帮忙吗? 谢谢。 最佳答案 查看 Navigator.se
我想使用全新的 Beacon API。我在网上搜索但找不到数据发送数据的大小限制是多少。在引用文献中,它是针对少量数据编写的,但我必须知道有多少... 最佳答案 如果设置了最大大小,则取决于用户代理(
提前抱歉,我的母语不是英语:( 由于在 Chrome 版本 80 中,AJAX 查询不再在卸载事件中工作,我需要另一种选择,我读到了有关 Navigator.sendBeacon 的问题是我没有找到发
我的问题是,当我调用一个监听事件 onBeforeUnload() 的函数时,我想发布一个数据。问题是我的请求未经授权。我需要在某处添加我的承载,但我不知道如何。 这里是我的实际代码: @HostLi
当我直接在控制台中调用 navigator.sendBeacon 时,我立即在 Chrome 开发工具网络 Pane 中看到请求已成功完成。 当我使用类似下面的代码将 sendBeacon 附加到 b
我试图在窗口关闭时发送数据,以防止 2 人编辑和覆盖彼此的数据。目前我在卸载事件处理程序中使用 sendBeacon。 火狐: 刷新:作品 返回按钮:作品 关闭窗口:作品 Chrome : 刷新:作品
嗨,在我的应用程序中,如果用户关闭选项卡/窗口,我想将他注销。为此,我按以下方式使用 navigator.sendBeacon: client.js: window.addEventListener(
我有以下代码使用 sendBeacon 方法发送异步 HTTP 请求, var data = { name: 'test', uniqueId: Math.random() }; var blob
在选项卡\浏览器关闭时,我需要将数据发送到服务器。我找到了 this answer (基于 this blog )建议使用 sendBeacon。 Here显示了必须如何准备数据才能通过 Ajax 将
我想在客户的网站中使用 navigator.sendBeacon。但它使用的是 POST 方法,并且请求没有到达服务器,因为请求 url 的域不同。我尝试了使用 sendBeacon() 的不同方式,
我正在尝试发送关于可见性更改的 POST 请求(如文档中所述)并且成功有限。我成功发出了 sendBeacon 请求,但似乎无法读取我的 Node.js Express 服务器上的对象。这是我的发送信
在 beforeunload 的上下文中处理程序,fetch(keep-alive: true) 之间的功能区别是什么?并设置 src img 的属性标记,其中哪些是发出 GET 请求的首选方法? 背
我正在使用新的浏览器功能 (navigator.sendBeacon) 将异步数据发布到 node.js 服务器。 但我无法在 Node 服务器上接收它。那么谁能告诉我如何接收sendBeacon在
问题: 我正在尝试从 Laravel 8. 文档或大量谷歌搜索均无效。 我试过: $request->input(); $request->all(); $request->json(); json_
我正在尝试发送 POST请求 beforeunload事件使用 navigator.sendBeacon ,但数据没有到达 PHP $_POST .我认为这是因为在使用 navigator.sendB
$(window).on('unload', function() { db.flipCounter.get(gon.slug, function(obj) {
$(window).on('unload', function() { db.flipCounter.get(gon.slug, function(obj) {
我在使用 sendBeacon 将数据发布到服务器时遇到问题。 它适用于 chrome(因为 Chrome 似乎跳过预检)但在 Firefox 中,预检(OPTIONS)与请求 header 一起发送
我是一名优秀的程序员,十分优秀!