Я заполняю выпадающее из jQuery ajax, звонят в веб-сервис, который возвращает json данные. Если по некоторым причинам сбои веб-сервиса или недоступны, как я обрабатываю это? Я не хочу иметь своих пользователей, смотрящих на пустое выпадающее.
Как я могу кэшировать последний успешный вызов и использование это вместо этого?
Если данные одинаковы для всех пользователей и не меняются слишком часто, вы можете кэшировать их на своем сервере и выполнять вызов AJAX только в том случае, если кэш недоступен/старый. (Если кэш неактуален, но вызов AJAX не удается, то лучше предоставить немного неактуальные данные, чем вообще никаких)
.Будьте осторожны с кэшированием данных - существует несколько служб (я думаю о DVLA здесь, в Великобритании), для которых кэширование данных является нарушением условий их использования ...
Вам необходимо указать пользователь, что служба не работает по какой-либо причине.
Возможно, вам стоит попробовать загрузить данные, когда страница будет готова, и если веб-сервис не сможет перейти на страницу с ошибкой?
Вы можете использовать Хранилище DOM для кэширования результатов в браузерах, которые его поддерживают. Или напишите куки.
А если их нет или у вас нет данных, просто скройте раскрывающийся список и отобразите вместо него панель ошибок.
, если служба недоступна, вам придется сообщить пользователю, что страница загрузилась некорректно. или повторите попытку один или два раза, но есть вероятность, что если он выйдет из строя в первый раз, он будет отключен на некоторое время