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

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

$( “#主”)。负载( “的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函数中的错误句柄来执行此操作:

http://jsbin.com/iwume

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