温故而知新 前端日志上传新姿势 navigator.sendBeacon(信标)
原文地址:https://mp.weixin.qq.com/s/-moAfEZicrFmun4qfWLdOQ
简单示例js:
var data = JSON.stringify({
name: 'Berwin'
});
navigator.sendBeacon('http://localhost:80/index.php', data)
简单php示例:
由于是信标发送的 POST 请求,并且是 "text/plain" 数据类型,所以适合用 $GLOBALS['HTTP_RAW_POST_DATA'] 接受。
顺便一提,最好不要使用GET方式请求类似: navigator.sendBeacon('http://localhost:80/index.php?a=123') ,不太适合也不是正确的套路。
<?php header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Headers:x-requested-with,content-type'); function WriteLog($msg,$module = null,$logLevel = "DEBUG")
{
$filepath = "./log/";
if(!is_dir($filepath)) mkdir($filepath,'0777');
$MyLogFile = @fopen($filepath.date("Y-m-d").".txt",'a+'); $time = date("Y-m-d H:i:s");
if(isset($module)){$module = sprintf("\r\n归属模块:".$module."\r\n");}
$logLine = "\r\n------------------------------- $time -------------------------------\r\n";
$logLine .= $module;
$logLine .= "\r\n异常信息:$msg\r\n";
$logLine .= "\r\n错误等级:$logLevel\r\n";
fwrite($MyLogFile,$logLine);
} WriteLog($GLOBALS['HTTP_RAW_POST_DATA']);
温故而知新 前端日志上传新姿势 navigator.sendBeacon(信标)的更多相关文章
- web前端图片上传(3)--filereader
这篇文章主要是为了介绍一种文件上传的方式.当然文件中是包含图片的.如果大家仔细看我的第一篇web前端图片上传(1)就会知道,其实也是按照这种方式上传你的,但是由于上次时间比较紧张,没有详细的介绍今天的 ...
- jq实现前端文件上传
FormData FormData是XMLHttpRequest Level 2 新增的一个接口. 使用FormData可以实现各种文件上传. 使用 // 创建FormData的实例 var form ...
- 七牛云存储的 Javascript Web 前端文件上传
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,七牛云存储的 Web 前端文件上传 七牛是不错的云存储产品,特别是有免费的配额可 ...
- 前端js上传文件后端C#接收文件
本文粗略的讲下前端文件上传和后端文件接收的原理 前端代码 html <form onsubmit="uploadFile(event)"> <input type ...
- vue+element+oss实现前端分片上传和断点续传
纯前端实现: 切片上传 断点续传 .断点续传需要在切上上传的基础上实现 前端之前上传OSS,无需后端提供接口.先上完整代码,直接复制,将new OSS里的参数修改成自己公司OSS相关信息后可用,如遇问 ...
- 框架基础:ajax设计方案(三)--- 集成ajax上传技术 大文件/超大文件前端切割上传,后端进行重组
马上要过年了,哎,回家的心情也特别的激烈.有钱没钱,回家过年,家永远是舔舐伤口最好的地方.新的一年继续加油努力. 上次做了前端的ajax的上传文件技术,支持单文件,多文件上传,并对文件的格式和大小进行 ...
- Web前端文件上传进度的显示
跟后台关系不大,主要是前端js实现,具体使用了XMLHttpRequest的ProgressEvent事件,可以参考MDN中的Using XMLHttpRequest https://develope ...
- Baidu WebUploader 前端文件上传组件的使用
简介 WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流I ...
- 前端通信:ajax设计方案(四)--- 集成ajax上传技术 大文件/超大文件前端切割上传,后端进行重组
马上要过年了,哎,回家的心情也特别的激烈.有钱没钱,回家过年,家永远是舔舐伤口最好的地方.新的一年继续加油努力. 上次做了前端的ajax的上传文件技术,支持单文件,多文件上传,并对文件的格式和大小进行 ...
随机推荐
- python __setattr__和__getattr__
通过为dict添加__setattr__和__getattr__, 可以属性的语法访问dict的元素 http://www.2cto.com/kf/201507/413971.html class S ...
- 安装python-ldap fatal error: lber.h: No such file or directory
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev sudo apt-get install -y python- ...
- 关于Git HEAD^与HEAD~的关系
关于Git HEAD^与HEAD~的关系 请参考下图,来自stackoverflow http://stackoverflow.com/questions/2221658/whats-the-diff ...
- C# 将一个string数组转换为int数组
int[] channelCIdArr = Array.ConvertAll(channelIdStr.Split(','),s=>int.Parse(s));
- JSFL 获取当前脚本路径,执行其他脚本
Application.jsfl为程序入口,导入其他jsfl [Common.jsfl] function trace() { fl.trace(Array.prototype.join.call(a ...
- linux下kerberos教程
一.kerberos介绍 Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”系统设计上采用客户端/服务器结构与DES加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行 ...
- 转:OGRE 源码编译方法
编译及运行环境:Windows 7 . vs2010. 编译前的准备: 1.想编译OGRE,最起码要有OGRE的源码吧.可以去官方网站下载最新的源码包,我这里用的是1.7.2版本的,下载下来的文件叫 ...
- 微信小程序开发学习资料
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- chrome配置文件校验初始化隐含參数的逆向
这篇文章接上一篇文章进一步升华:花了4个小时获得该信息的计算方式 比方在 chrome文件夹下的\Chrome\User Data\Default文件夹下的Secure Preferences,须要 ...
- 多线程和Socket——在线聊天室
多线程开发和Socket技术 一.进程和线程 进程:每个应用程序对应一个进程: 线程:一个进程至少包含一个线程,线程要和CPU进行交互. 多线程并发(可以理解为):"同一时间"执行 ...