【发布时间】:2010-09-16 20:51:11
【问题描述】:
我正在使用 jquery 库来加载 html 文件的内容。像这样的:
$("#Main").load("login.html")
如果文件(在本例中为“login.html”)不存在,我想检测它,以便可以将用户重定向到错误页面。有什么想法可以检测到要加载的文件是否存在?
【问题讨论】:
我正在使用 jquery 库来加载 html 文件的内容。像这样的:
$("#Main").load("login.html")
如果文件(在本例中为“login.html”)不存在,我想检测它,以便可以将用户重定向到错误页面。有什么想法可以检测到要加载的文件是否存在?
【问题讨论】:
您可以使用 ajaxComplete 事件,它使您可以访问 xhr 对象,您可以查询请求的状态,例如状态 404 表示文件不存在。
更多信息请参阅文档http://docs.jquery.com/Ajax/ajaxComplete#callback
在这里测试http://pastebin.me/48f32a74927bb
例如
$("#someDivId").ajaxComplete(function(request, settings){
if (settings.status===404){
//redirect here
}
});
【讨论】:
@PConroy 的解决方案有效,但它对所有失败的 ajax 请求执行相同的操作。
如果您需要在每个请求的基础上执行此操作 - 即,如果第一个请求失败则转到 X 页,如果第二个请求失败转到 Y 页,那么您需要使用 $.ajax 函数中的错误句柄来执行此操作:
【讨论】: