如何控制JavaScript in Chrome的错误显示,如404错误?

How to control error display by JavaScript in Chrome, eg 404 error?

我试过使用"try-catch"句柄,但没用。 Chrome 仍然会显示 404 URL 错误(我不想在控制台中显示它);

示例代码如下:

  try {
    $.post("/APIURL", function(data) {
      $(".hint").fadeIn(300);
    });
  } catch (e) {
    console.log(e);
  }

抱歉,这不可能。我认为在旧的 IE 版本中有一个使用 try catch 子句的解决方法,但这不是很有用。无论如何,404 错误不应该隐藏起来,您也不应该将其作为正常工作流程的一部分——错误就是错误。如果您需要检查资源是否存在并且不想将其报告给控制台,您可以创建一个单独的 API 端点来检查资源是否存在,并且只需 return 一个布尔值或者更复杂的东西。

虽然您无法禁用 chrome 控制台错误,但有多种方法可以捕获错误,这可能会让您更接近目标。

第一个示例,这仅使您能够在没有 try/catch 的情况下处理 POST 失败,并为您提供 textStatus,以便您获得除错误或成功之外的更好的反馈。

//catching failure in post
$.post("/APIURL", function(data, textStatus) {
  console.log("post success");
}).fail(function(data,textStatus){
    console.log(textStatus);
});

第二个通常会捕获页面上的任何 ajax 错误,这可能有助于通知用户任何 ajax 请求的错误,而不仅仅是您实施的请求。

//catching ajax failure across the page
$( document ).ajaxError(function( event, request, settings ) {
    $( "#msg" ).append( "<li>Error requesting page " + settings.url + "</li>");
});

这里有一个 Jsfiddle 可以玩 https://jsfiddle.net/c6q6dfxt/