我有这样的setInterval函数;
$(document).ready(function () {
setInterval(function () {
try{
loader();
}catch (e) {
location.reload();
}
}, 1000);
});
function loader() {
$.post("dbprocess.php", {
process:"loadData"
}, function (responsedData) {
responsedData = JSON.parse(responsedData);
$('#kitchenWrapper').html(responsedData.list);
})
}
如果加载器函数有错误(例如500个内部错误或其他错误),我想捕获,我想重新加载页面。该代码未捕获运行时错误。
答案 0 :(得分:0)
它没有捕获任何错误,并且可能也不会捕获任何成功信息,因为您的loader()
函数没有返回您的$.post()
函数调用的返回。
您的加载器函数应返回$ .post函数调用返回值,如下所示:
function loader() {
return $.post("dbprocess.php", {
process:"loadData"
}, function (responsedData) {
responsedData = JSON.parse(responsedData);
$('#kitchenWrapper').html(responsedData.list);
});
}
在间隔函数中,您可以执行以下操作来处理$.post()
函数调用的失败返回:
$(document).ready(function () {
setInterval(function () {
loader().fail(function () {
location.reload();
});
}, 1000);
});
您可以详细了解$ .post失败功能here。