Без конкретного сообщения об ошибке вызывается секция catch() для обработки исключения, хотя приходит корректный json-ответ.
Возможная причина
В моем случае был неправильно выставлен атрибут formData - ведь в случае с файлами запрос идет в одном формате (formdata), а ответ получается в формате json.
Пример исправленного метода (можно использовать как функцию для отправки запросов разного типа):