我正在使用jquery库来加载html文件的内容。像这样:
$( “#主”)。负载( “login.html的”)
如果文件(在本例中为'login.html')不存在,我想检测它,以便我可以将用户重定向到错误页面。任何想法如何检测是否存在要加载的文件?
答案 0 :(得分:12)
你可以使用ajaxComplete事件,你可以访问xhr对象,你可以查询请求的状态,例如404的状态意味着该文件不存在。
文档http://docs.jquery.com/Ajax/ajaxComplete#callback
中的更多信息在这里测试http://pastebin.me/48f32a74927bb
e.g
$("#someDivId").ajaxComplete(function(request, settings){
if (settings.status===404){
//redirect here
}
});
答案 1 :(得分:1)
@ PConroy的解决方案可行,但它对所有失败的ajax请求都做了同样的事情。
如果您在每个请求的基础上需要它 - 即如果第一个请求失败则转到X页面,如果第二个请求失败转到Y,那么您需要使用$ .ajax函数中的错误句柄执行此操作: