使用:ASP.NET MVC 3、JavaScript、jQuery。 web.config 文件设置为处理 HTTP 404 错误。具体来说,它将针对无效 URL(例如 www.mysite.com/INVALIDURL,即未找到 404 页面)提供正确的重定向
问题:有没有办法在 Ajax 错误中默认执行相同的行为?或者换句话说,如何在 ajax 错误中抛出 404“找不到页面”响应。
$.ajax ({ ... })
.error(function (jqXHR, textStatus, errorThrown) {
// throw 404 Page not found HTTP error
}
Edit1:我正在寻找的最终结果是在 Ajax 错误时提供“找不到页面”显示
Edit2:我已经在 web.config 文件中设置了重定向设置,如下所示
<system.webServer>
<httpErrors errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" path="/error/404" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
我希望 ajax.error 默认为该行为,可能吗?
最佳答案
那么 - 您想重定向到 ajax 错误的 404 页面吗?如前所述,您不能抛出 404,但可以重定向到另一个页面。
$.ajax ({ ... })
.error(function (jqXHR, textStatus, errorThrown) {
window.location.href = '/My404ErrorPage';
}
编辑
如果您不希望 URL 更改 - 您很可能需要考虑使用模式对话框/警报框/特殊 div 将此信息传达给用户并将您想要使用的消息放置在那。下面假设 NotFound 是页面上某处的 div 的 id,并利用 jquery UI 作为第一部分,为第二部分利用普通的 ol' 警报框。
$.ajax ({ ... })
.error(function (jqXHR, textStatus, errorThrown) {
$('#NotFound').html('Some error message');
$('#NotFound').Dialog();
//OR you could do
alert('Some error message');
}
关于javascript - 如何在 Ajax 错误上抛出 404 错误以定向到默认 404 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11679064/