Как проверить, существует ли файл в javascript?

Я использую библиотеку jquery для загрузки содержимого файла html. Что-то вроде этого:

$ ("# Main"). Load ("login.html")

Если файл (в данном случае «login.html») не существует, я хотел бы обнаружить его, чтобы, например, перенаправить пользователя на страницу с ошибкой. Есть идеи, как я могу определить, существует ли загружаемый файл или нет?

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
3
0
21 077
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать событие 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)

Вы должны показать здесь основы решения, вместо того, чтобы требовать от людей перехода по ссылке. Ссылки хороши для предоставления дополнительной информации, но ее должно быть достаточно в самом ответе.

Juan Mendes 13.07.2011 00:55

Другие вопросы по теме