时间:2021-05-18
在服务端,不管我们使用Node.js、Java、PHP还是Python等等,都会用日志以文本的形式记录请求以及报错信息。这个对于后端做事后分析是很有用的。
另一方面,前端有时候出问题其实是因为后端接口报错,返回数据异常导致。而实际上,前端才是用户直接触及的端,所以出了问题,首先是在前端体现出来,首先也是找前端。
为了更好地定位问题是前端代码还是接口问题,在这里推荐使用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监控项目,并拷贝接入代码:
完整代码如下所示:
<!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啊等等都能抓过来。
另外,通过用户行为也可以很好地看到触发报错的过程:
跨域问题
如果访问的是非同源的请求,那么报错会拿不到状态码,也就是说status不会是404,而是0。这个比较蛋疼!
总结
监控HTTP请求错误有什么好处?
第一时间发现HTTP请求出现状况;
及时告知后端服务器出了问题,快速应对;
分析前端其它bug的时候多了一份信息参考;
用户反馈服务无法使用的时候,可以快速知道问题原因。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.设计质量第一 固然如今花费者对付婴儿产物的请求异常高,而且在购置的时刻目光也是异常抉剔,完全不顾及价钱只看重质量,这也是如今许多年青家长购置婴儿产物的
本文简单介绍插件pace.js.在页面中引入Pace.js,页面就会自动监测你的请求(包括Ajax请求),在事件循环滞后,会在页面记录加载的状态以及进度情况。此
微博当前网络请求过于频繁c403的原因及解决方法如下: 1、被微博后台认定为账号异常,异常原因可能是由于账号存在违规操作行为所导致。 2、使用的浏览器出现了
1、凡对初步审定公告的商标请求异议的,须办理商标异议请求手续。 2、无论被提异议的商标注册申请人是否在商标局指定的时间内进行答辩,商标局都将做出准予注册或
tabs是现在网页应用最广的一种效果,jquery插件和非jquery插件也有不少,有一些朋友问我怎么用jquery.ui.tabs的ajax怎么只请求服务器一