Я написал небольшое приложение ruby Sinatra.Время от времени выдается ошибка (например, отсутствует соединение с базой данных).Однако страница индекса по умолчанию всегда работает (подключение к базе данных не требуется).
Я использовал jQuery для обработки запроса, который инициирует создание данных.Но когда возникает внутренняя ошибка, я бы хотел показать страницу ошибки по умолчанию.Это не работает, потому что jQuery создает запрос и просто игнорирует ошибку (поэтому ничего не происходит, когда база данных недоступна).Мой код выглядит примерно так:
$(document).ready(function() {
$("form").bind("submit", function(event) {
event.preventDefault();
$.ajax({
type:"POST",
url:"/new",
data:$("#form").serialize(),
dataType:"json",
success:function(data){
// handling of input data
},
error:function(xhr, ajaxOptions, thrownError){
// show default error page
}
});
});
});
Мне удалось добиться того, чего я хотел, с помощью этого:
error:function(xhr, ajaxOptions, thrownError){
alert something;
}
Но я полагаю, это просто работает из-за синтаксической ошибкисинтаксис будет предупрежден («что-то»);)
Есть ли правильный способ перенаправить на страницу ошибки по умолчанию?