我有一个分页控件,可以通过一些JQuery Ajax刷新DIV,但是如果发生错误,说明页面崩溃是因为它无法连接到数据库或其他原因。我的默认错误页面显示在DIV中而不是结果..
所以我的问题是如何做到这一点,以便不会发生,当错误发生时,它将用户重新路由到错误页面而不是仅仅使用错误页面的内容刷新DIV? / p>
更新:我只是在做一个简单的
$("#PagerContainer").load($(this).attr("href"));
在链接上单击事件处理程序。
我需要做的是完全重定向到错误页面而不是将内容放入DIV
错误是从Application_Error
中的Global.Aspx中捕获的另一次更新: 发生这种情况实际上并不是一个ajax帖子,它是一个普通的形式提交来自一个模态...在这种情况下我该怎么做。
答案 0 :(得分:1)
而不是您发布的代码执行类似
的操作var theUrl = $(this).attr("href");
$.ajax({
type: "GET",
url: theUrl,
success: function(data) { $("#PagerContainer").html(data); /*This will insert the HTML returned from the server */ },
error: function(data) { alert('I encountered an error. I will NOT insert any HTML'); }
});
正如您可能猜到的,如果从服务器收到肯定响应(HTTP状态200),将调用名为“success”的函数。如果收到错误代码,将执行名为“error”的函数。
答案 1 :(得分:0)
查看JQuery.ajax()的文档,该文档支持根据请求的状态代码执行不同的操作。
但是,您可能需要在控制器操作中检查ajax调用 - 在名为{{1}的Request
对象上有一个属性(实际上是一个返回布尔值的方法...)或者某种东西,它可以帮助你返回不同的东西,这取决于请求是否是用ajax创建的。