用Fundebug插件记录网络请求异常的方法


Posted in Javascript onFebruary 21, 2019

在服务端,不管我们使用Node.js、Java、PHP还是Python等等,都会用日志以文本的形式记录请求以及报错信息。这个对于后端做事后分析是很有用的。

另一方面,前端有时候出问题其实是因为后端接口报错,返回数据异常导致。而实际上,前端才是用户直接触及的端,所以出了问题,首先是在前端体现出来,首先也是找前端。

用Fundebug插件记录网络请求异常的方法

为了更好地定位问题是前端代码还是接口问题,在这里推荐使用Fundebug的前端JavaScript监控插件。该插件从0.1.0之后,就开始支持HTTP请求错误的监控。

例子

为了测试,我写一个简单的例子。没有用到任何复杂的框架,就是一个简单的HTML加上网络请求的JS。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Test HTTP Request</title>
</head>
<body>
  <h1>This is a test for HTTP request error !</h1>
  <button onclick="loadRequest()">Click</button>
</body>
<script type="text/javascript">
function loadRequest() {
  var oReq = new XMLHttpRequest();
  oReq.open("GET", "http://127.0.0.1:8080/example/");
  oReq.send();
}
</script>
</html>

然后,在Fundebug创建一个JS监控项目,并拷贝接入代码:

用Fundebug插件记录网络请求异常的方法

完整代码如下所示:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Test HTTP Request</title>
</head>
<body>
  <h1>This is a test for HTTP request error !</h1>
  <button onclick="loadRequest()">Click</button>
</body>
<script type="text/javascript">
function loadRequest() {
  var oReq = new XMLHttpRequest();
  oReq.open("GET", "http://127.0.0.1:8080/example/");
  oReq.send();
}
</script>
<script src="https://js.fundebug.cn/fundebug.1.0.3.min.js"
    apikey="YOUR-API-KEY"></script>
</html>

使用http-server命令直接运行(推荐小技巧:使用npm install -g http-server安装一个简单的服务器。),在浏览器输入地址http://127.0.0.1:8080访问该页面。

用Fundebug插件记录网络请求异常的方法

点击页面上的click按钮,就会触发这个错误。在Fundebug的控制台可以看到报错信息,如下所示:

用Fundebug插件记录网络请求异常的方法

点击该错误,可以查看报错详情。一个http的get请求访问http://127.0.0.1:8080/example/,然后返回404。当然,http的请求错误类型有很多,不仅可以抓404, 什么401啊,403啊,500啊等等都能抓过来。

用Fundebug插件记录网络请求异常的方法

另外,通过用户行为也可以很好地看到触发报错的过程:

用Fundebug插件记录网络请求异常的方法

跨域问题

如果访问的是非同源的请求,那么报错会拿不到状态码,也就是说status不会是404,而是0。这个比较蛋疼!

总结

监控HTTP请求错误有什么好处?

第一时间发现HTTP请求出现状况;

及时告知后端服务器出了问题,快速应对;

分析前端其它bug的时候多了一份信息参考;

用户反馈服务无法使用的时候,可以快速知道问题原因。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
根据分辩率调用不同的CSS.
Jan 08 Javascript
js 利用className得到对象的实现代码
Nov 15 Javascript
jquery获取table中的某行全部td的内容方法
Mar 08 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
Listloading.js移动端上拉下拉刷新组件
Aug 04 Javascript
vue.js表格分页示例
Oct 18 Javascript
详解前后端分离之VueJS前端
May 24 Javascript
为输入框加入数字js校验代码分享
Nov 02 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
Feb 26 Javascript
Vue中 key keep-alive的实现原理
Sep 18 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
Feb 15 Javascript
VUE搭建手机商城心得和遇到的坑
Feb 21 #Javascript
利用vue重构有赞商城的思路以及总结整理
Feb 21 #Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
Feb 21 #Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
Feb 21 #Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
Feb 21 #Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
Feb 21 #Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
Feb 21 #Javascript
You might like
PHP 动态随机生成验证码类代码
2010/04/09 PHP
PHP自动选择 连接本地还是远程数据库
2010/12/02 PHP
PHP图片上传代码
2013/11/04 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
PHP 断点续传实例详解
2017/11/11 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
利用vscode编写vue的简单配置详解
2017/06/17 Javascript
初探js和简单隐藏效果的实例
2017/11/23 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
vue 虚拟DOM的原理
2020/10/03 Javascript
JavaScript函数柯里化实现原理及过程
2020/12/02 Javascript
详解python编译器和解释器的区别
2019/06/24 Python
Python 处理文件的几种方式
2019/08/23 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
Python实现自动整理文件的脚本
2020/12/17 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
企业面试题试卷附带答案
2015/12/20 面试题
金鑫耀Java笔试题
2014/09/06 面试题
初中音乐教学反思
2014/01/12 职场文书
优秀护士演讲稿
2014/04/30 职场文书
本科生就业推荐信
2014/05/19 职场文书
考研导师推荐信范文
2015/03/27 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
重阳节简报
2015/07/20 职场文书
七年级作文之下雨天
2019/12/23 职场文书