使用 Javascript 跟踪长时间和失败的请求
Track long and failed requests with Javascript
有时我的应用程序表现很奇怪。我的一些请求开始需要很长时间,然后可能会失败,没有任何系统。甚至在查看日志后,我在其中找不到这样的请求,而且看起来它们甚至没有被服务器处理。
所以我想实现客户端脚本,谁将跟踪长期或失败的请求,然后将此信息发送到服务器。
实现此类功能的最佳方法是什么?
(1) 您可以覆盖XMLHttpRequest
以提供所需的功能。
var mylog = [];
XMLHttpRequest = (function(XMLHttpRequest) {
return function() {
XMLHttpRequest.apply(this, arguments);
this.timeout = 30 * 1000; //thirty seconds
this.ontimeout = function() {
mylog.push("Request timed out");
};
};
})(XMLHttpRequest);
setInterval(function() {
//send to server
mylog = [];
}, 60 * 1000);
(2) 您可以创建自己的 XHR 工厂,对它们进行timeout
和ontimeout
。你改变你的所有代码来使用它。
(3)你没有提到jQuery,所以我不会花太多时间在这上面,但是有了jQuery,你可以用$.ajaxSetup
来设置默认参数。
实际上,您应该花时间尝试从服务器端跟踪这一点;它们在收集您想要的内容方面更加可靠。
相关文章:
- 一台特定计算机的Ajax请求数据未定义/失败
- 当我在chrome中切换设备模式时,$http.get请求失败
- Ajax错误检查-如果Ajax请求失败,如何防止内容发生更改
- Javascript-为什么我的JQueryAJAX请求失败
- Android/Chrome jQuery AJAX请求在到达服务器之前失败,并出现parserror
- 由于adblock,Javascript Ajax请求在chrome中失败,我有什么选择
- AJAX 请求不会在 400 个错误查询上执行失败
- Python POST 请求失败
- Ajax GET 请求的 URL 失败,但 hurl.it 相同 URL 的 GET 请求有效.什么给
- 对php的Angular post请求失败
- xml在使用SSL https请求时失败
- JQuery发布请求失败,发布后没有警报
- AJAX获取请求有时会在iOS Safari上失败
- Jquery Ajax请求失败
- AJAX请求json失败
- 如何根据ajax get请求的成功/失败在适当的范围内更改javascript变量
- node.js请求js与curl相比失败
- 如何判断哪个ajax请求失败
- gwt使用本机javascript向远程服务器发送POST请求失败
- 在Jasmine单元测试中,如何强制失败回调来触发失败请求