在服务端,无论咱们使用Node.js、Java、PHP仍是Python等等,都会用日志以文本的形式记录请求以及报错信息。这个对于后端作过后分析是颇有用的。javascript
另外一方面,前端有时候出问题实际上是由于后端接口报错,返回数据异常致使。而实际上,前端才是用户直接触及的端,因此出了问题,首先是在前端体现出来,首先也是找前端。html
为了更好地定位问题是前端代码仍是接口问题,在这里推荐使用Fundebug的前端JavaScript监控插件。该插件从0.1.0以后,就开始支持HTTP请求错误的监控。前端
为了测试,我写一个简单的例子。没有用到任何复杂的框架,就是一个简单的HTML加上网络请求的JS。java
<!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监控项目,并拷贝接入代码:npm
完整代码以下所示:小程序
<!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
访问该页面。后端
点击页面上的click
按钮,就会触发这个错误。在Fundebug的控制台能够看到报错信息,以下所示:微信小程序
点击该错误,能够查看报错详情。一个http的get请求访问http://127.0.0.1:8080/example/
,而后返回404。固然,http的请求错误类型有不少,不只能够抓404, 什么401啊,403啊,500啊等等都能抓过来。api
另外,经过用户行为也能够很好地看到触发报错的过程:跨域
若是访问的是非同源的请求,那么报错会拿不到状态码,也就是说status不会是404,而是0。这个比较蛋疼!
监控HTTP请求错误有什么好处?
Fundebug专一于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有Google、360、金山软件、百姓网等众多品牌企业。欢迎你们免费试用!
转载时请注明做者Fundebug以及本文地址: https://blog.fundebug.com/2019/01/25/use-fundebug-to-capture-http-error/