【发布时间】:2012-01-03 16:56:01
【问题描述】:
我编写了一个小红宝石 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;
}
但我想这只是因为语法错误而起作用(正确的语法应该是 alert("something");)
是否有正确的方法重定向到默认错误页面?
【问题讨论】: