用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 相关文章推荐
不要在cookie中使用特殊字符的原因分析
Jul 13 Javascript
基于JQuery制作的产品广告效果
Dec 08 Javascript
购物车选中得到价格实现示例
Jan 26 Javascript
js星星评分效果
Jul 24 Javascript
JavaScript实现的类字典插入或更新方法实例
Jul 10 Javascript
jquery ajax分页插件的简单实现
Jan 27 Javascript
jquery+css3实现会动的小圆圈效果
Jan 27 Javascript
JS中使用FormData上传文件、图片的方法
Aug 07 Javascript
Node.js读写文件之批量替换图片的实现方法
Sep 07 Javascript
JavaScript实现计数器基础方法
Oct 10 Javascript
为输入框加入数字js校验代码分享
Nov 02 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 16 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
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
yii中widget的用法
2014/12/03 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
详解使用nvm安装node.js
2017/07/18 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
angular 服务的单例模式(依赖注入模式下)详解
2018/10/22 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
2020/12/19 Vue.js
Python-while 计算100以内奇数和的方法
2019/06/11 Python
Python猴子补丁知识点总结
2020/01/05 Python
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
在校生自我鉴定
2014/01/23 职场文书
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
2014年乡镇领导个人整改措施
2014/09/19 职场文书
辩护词格式
2015/05/22 职场文书
茶花女读书笔记
2015/06/29 职场文书
个人售房合同协议书
2016/03/21 职场文书
深入理解Vue的数据响应式
2021/05/15 Vue.js
js判断两个数组相等的5种方法
2022/05/06 Javascript