当前位置: 首页 > 知识库问答 >
问题:

如何阻止jQuery.ajax()将失败记录到控制台?

宰父单弓
2023-03-14

我正在使用下面的jQuery JSONP请求按URL检查资源的状态。当资源不可用或服务器关闭时,我的ajaxfail()函数更新显示。

function fetchServerStatus(service, host)
{
    var port = serverStatus[service].port;
    $.ajax({
        url: "http://" + host + ":" + port + "/admin/server/status",
        dataType: "jsonp",
        timeout: 1000,
        error: ajaxFail,
        fail: ajaxFail,
        success: ajaxDone,
        done: ajaxDone,
        complete: ajaxAlways,
        always: ajaxAlways
    });
}

我遇到的问题是,尽管为failerror声明了处理程序(它们不将任何内容记录到控制台),但jQuery总是将失败的请求记录在控制台中。如果资源长时间不可用,这将建立一个巨大的控制台日志,最终导致浏览器进程崩溃(在我的例子中是Chrome)。

有什么办法可以阻止它这样做吗?

共有1个答案

潘安平
2023-03-14

chrome控制台中的日志记录项是chrome在处理任何HTTP请求时的一种行为,而不是jQuery或ajax(XMLHttpRequest)的问题,即使是 标记也可能导致此问题。

您的唯一选择是修复您的服务器端代码,使其不触发ajax的错误(例如404未找到或内容类型错误),所以根据记录到控制台的内容,也许可以找到一个更好的解决方案,请在您的控制台提供准确的日志消息。

 类似资料:
  • 好的,所以我试图使内存appender(简单的记录器,日志到ArrayList而不是控制台或文件),但现在我想禁用它从打印到控制台。 问题和网站,到目前为止我已经读过了(但我仍然不知道它是什么)。。 StackOverFlow问题log4j:将特定类的输出记录到特定附加器 它包含了我想要实现的所有部分,但我仍然有点困惑。 我也读了这段Logback或Log4j附加解释的状态... 但是,如果log

  • 我试图将命令提示符中打印出来的信息从JAVA控制台显示到C#。当在JAVA中发出System.out.println时,它可以很好地工作,但是它不能用于logger.info print out。 注意:当我通过windows命令提示符(CMD>java-jar testbed.jar)运行它时,记录器信息会在命令提示符中打印出来。 JAVA来做一个简单的增量和减量数字,当按下按钮进行增量或减量时

  • 我正在迁移一个遗留的应用程序来使用logback,在这个过程中我试图保持所有的旧功能以相同的方式工作。遗留应用程序所做的一件事是,如果无法写入日志文件(由于空间不足、权限不正确等原因),则将日志记录到控制台 对于logback,似乎应该由StatusListener来处理这个问题,我可以使用getOrigin获得筛选后的附加程序,但我不知道如何获得与origin附加程序相关联的日志记录程序。有可能

  • 在我的应用程序中,我使用谷歌帐户进行身份验证。当用户首次登录时,将显示设备上使用的google帐户列表,用户可以通过选择可用帐户之一登录。但当用户注销并再次尝试登录时,列表将不再显示,他将自动使用以前选择的帐户登录。如何防止我的应用程序记住该帐户,并在每次登录尝试时强制其显示帐户列表?

  • 我想检查蒙哥数据库中是否已存在电子邮件ID。如果设置了 req.body.email,它将触发MongoDB查询,如果结果为真,则它应该在json中发送状态:true。 我已经尝试从外部发送res.json()User.findOne()仍然不起作用。我已经将接受标头设置为应用程序/json。仍然不起作用。 NodeJS上的代码 前端代码 错误日志

  • 问题内容: 我可以将所有消息定向到log.txt文件: 但是我也如何在控制台中获取日志消息? 问题答案: 使用 MultiWriter创建一个写入器,该写入器将其写入复制到所有提供的写入器中,类似于Unix tee(1)命令