使用 Javascript 跟踪长时间和失败的请求

Track long and failed requests with Javascript

本文关键字:失败 请求 长时间 Javascript 跟踪 使用      更新时间:2023-09-26

有时我的应用程序表现很奇怪。我的一些请求开始需要很长时间,然后可能会失败,没有任何系统。甚至在查看日志后,我在其中找不到这样的请求,而且看起来它们甚至没有被服务器处理。

所以我想实现客户端脚本,谁将跟踪长期或失败的请求,然后将此信息发送到服务器。

实现此类功能的最佳方法是什么?

(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 工厂,对它们进行timeoutontimeout。你改变你的所有代码来使用它。

(3)你没有提到jQuery,所以我不会花太多时间在这上面,但是有了jQuery,你可以用$.ajaxSetup来设置默认参数。

实际上,您应该花时间尝试从服务器端跟踪这一点;它们在收集您想要的内容方面更加可靠。