我正在使用以下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
});
}
我遇到的问题是,尽管声明了fail
和error
的处理程序,它们没有向控制台记录任何内容,但jQuery始终在控制台中记录失败的请求。如果资源长时间不可用,则会构建一个巨大的控制台日志,最终导致浏览器进程崩溃(在我的情况下为Chrome)。
有没有办法阻止它这样做?
答案 0 :(得分:49)
当处理任何HTTP请求时,chrome控制台中的日志条目是chrome的行为,而不是jQuery或ajax(XMLHttpRequest)的问题,甚至是<img>
或{{1标签可能会导致此问题。
您唯一的选择是修复服务器端代码,不要触发ajax错误(例如404找不到或内容类型错误),因此根据记录到控制台的内容,可能会找到更好的解决方案,请在您的控制台中提供准确的日志消息。
答案 1 :(得分:0)
将其放在页面顶部:
<script>
$(document).ready(function() {
jQuery.migrateMute = true;
})
</script>
它暂时 - 但为我工作。节拍必须滚动45行无意义来调试js错误。