如何检查javascript中是否存在文件?

时间:2008-10-13 10:46:07

标签: jquery file exists

我正在使用jquery库来加载html文件的内容。像这样:

$( “#主”)。负载( “login.html的”)

如果文件(在本例中为'login.html')不存在,我想检测它,以便我可以将用户重定向到错误页面。任何想法如何检测是否存在要加载的文件?

2 个答案:

答案 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函数中的错误句柄执行此操作:

http://jsbin.com/iwume

(编辑:http://jsbin.com/iwume/edit