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

标签 javascript ajax logging error-handling

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

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

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

最佳答案

(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 来设置默认参数。

但实际上,您应该花时间尝试从服务器端跟踪它;他们在收集您想要的东西方面更加可靠。

关于javascript - 使用 Javascript 跟踪长时间和失败的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19856282/

相关文章:

javascript - 在元素上调用 detach() 后,jQuery 集合对象的长度不会改变

javascript - 从外部 Javascript 中的 html 中的输入框获取值

javascript - ajax自动完成将数据绑定(bind)到文本框

java - 如何在 Log.Severe() 中包装错误跟踪

javascript - 在 Bootstrap 按钮上使用 JavaScript 模拟用户点击事件

javascript - 运行初始数组后,Jquery 数组返回未定义

python - Django 的模型保存流程

javascript - 显示准备好的语句的结果

python - Django 登录到控制台

spring-boot - 在 JsonLayout 中添加 MDC 变量 - log4j2