防止 ajax 404 错误出现在浏览器的控制台中
Prevent an ajax 404 error to appear in browser's console
我正在尝试在页面加载时加载 json 个文件。这些 json 位于一个文件夹内,构成了构建应用程序的基础(每个 json 文件代表一个页面)。问题是我希望脚本能够处理随机数量的 json 文件。
现在,我有以下递归函数,它完全满足我的需要,它加载每个页面,并在发生错误时启动应用程序初始化。问题是我的浏览器显示 404 错误,这显然是意料之中的。我想知道是否有办法捕获 404 错误(表示不再加载 json 文件)但 防止错误显示在浏览器的控制台中 ?
$(document).ready(function() {
let pageArray = [];
loadPages(1, pageArray);
function loadPages(nb, array) {
$.ajax({
url: 'configuration/pages/page' + nb + '.json',
dataType: 'json',
error: function() {
initialize(array);
},
success: function(data) {
array.push(data);
loadPages(nb + 1, array);
}
});
}
function initialize(pages) {
console.log(pages);
}
});
编辑
我最终使用 python(服务器上的 django)处理配置文件。所以 python 实际上是在将页面发送到客户端之前循环遍历目录。这并没有回答问题,而是提供了一个可能是最佳实践的替代方案。
为了防止显示错误,您必须将遇到错误的代码段包围在 try/catch 块中...像这样:
function() {
try {
openPage();
} catch (error) {
// do nothing
}
}
但我认为这在您的情况下是不可能的,因为浏览器会记录这些类型的错误...
看:
我正在尝试在页面加载时加载 json 个文件。这些 json 位于一个文件夹内,构成了构建应用程序的基础(每个 json 文件代表一个页面)。问题是我希望脚本能够处理随机数量的 json 文件。
现在,我有以下递归函数,它完全满足我的需要,它加载每个页面,并在发生错误时启动应用程序初始化。问题是我的浏览器显示 404 错误,这显然是意料之中的。我想知道是否有办法捕获 404 错误(表示不再加载 json 文件)但 防止错误显示在浏览器的控制台中 ?
$(document).ready(function() {
let pageArray = [];
loadPages(1, pageArray);
function loadPages(nb, array) {
$.ajax({
url: 'configuration/pages/page' + nb + '.json',
dataType: 'json',
error: function() {
initialize(array);
},
success: function(data) {
array.push(data);
loadPages(nb + 1, array);
}
});
}
function initialize(pages) {
console.log(pages);
}
});
编辑
我最终使用 python(服务器上的 django)处理配置文件。所以 python 实际上是在将页面发送到客户端之前循环遍历目录。这并没有回答问题,而是提供了一个可能是最佳实践的替代方案。
为了防止显示错误,您必须将遇到错误的代码段包围在 try/catch 块中...像这样:
function() {
try {
openPage();
} catch (error) {
// do nothing
}
}
但我认为这在您的情况下是不可能的,因为浏览器会记录这些类型的错误...
看: