jquery ajax Ошибка при получения json-а в ответ на загрузку файла (formdata) ajax-ом

Без конкретного сообщения об ошибке вызывается секция catch() для обработки исключения, хотя приходит корректный json-ответ.

Возможная причина

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

class ApiRequest  {

    constructor() {
        this.apiToken = '';
        this.baseUrl = baseApiUrl;
    }

    /**
     * 
     * @param {srting} $token 
     */
    setToken($token) {
        this.apiToken = $token;
    }

    /**
     * Обобщенный метод для отправки запроса. Его должны использовать уже конкретные методы, напр. post()
     * 
     * @param {string} type    тип запроса (GET, POST и т.д.)
     * @param {string} url     url отностельно базового (this.baseUrl), например вместо '/api/v1/user/login' передавайте просто 'user/login'
     * @param {mixed} data     данные которые хотим передать    
     * @param {string} requestDataType Опционально: формат тела запроса по умолчаню json.
     * @param {string} responseDataType Опционально: ожидаемый формат тела ответа по умолчаню json.
     * @param {object} headers Опционально: нестандартные заголовки
     */
    send(type, url, data = null, requestDataType = 'json', responseDataType = 'json', headers = {}) {
        if (!jswl.isEmpty(this.apiToken)) { // если токен установлен, добавив его в заголовки
            headers = {...headers, ...{"X-AUTH-TOKEN": this.apiToken}}
        }
        if ((type !== 'GET')) { // если это не GET
            
            if (requestDataType === 'json') { // если ождиается отправка json
                data = JSON.stringify(data),
                headers = {...headers, ...{"Content-Type": "application/json"}}
            } else if (requestDataType === 'formdata') { // если ождиается отправка formdata
                let formdata = new FormData();
                for (let key in data) {
                  formdata.append(key, data[key])
                }
                data = formdata

            }
        }

        var Request = {
            type: type, // метод
            url: this.baseUrl + url,  // адрес отправки (url)
            dataType: responseDataType,  // тип возвращаемого значения
            headers,
            ... requestDataType === 'formdata' && {
              contentType: false,
              processData: false,
            }
        }; 

        Request = {...Request, data: data};
    
        // console.log(type, Request, 'Request');

        return $.ajax(Request);
    }
//.......

Key Words for FKN + antitotal forum (CS VSU):