Почему ответ пуст при обработке события нагрузки xmlhttprequestupload?Javascript

Форум по Javascript
Anonymous
Почему ответ пуст при обработке события нагрузки xmlhttprequestupload?

Сообщение Anonymous »

У меня есть xmlhttprequestupload со слушателем на загрузке Событие:

Код: Выделить всё

xhr.upload.addEventListener('load', () => {
if (xhr.status === 200) {
resolve(UPLOAD_OK);
}
else {
const message = JSON.parse(xhr.response)?.error;
reject(new APIError(xhr.status, xhr.statusText, message));
}
});
Когда я вызываю json.parse (xhr.response) , я получаю исключение:

Код: Выделить всё

Uncaught SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
Это исключение, которое вы ожидаете от вызова json.parse на пустой строке, но то, что я вижу в качестве тела ответа в консоли браузера, - {"ошибка": "уже существует"} - что является ответом, который я ожидаю.
Почему это происходит? Разве ответ не должен быть установлен к тому времени, когда нагрузка событие стреляет? Если нет, то где это задокументировано и какое событие является правильным событием для получения ответа?

Подробнее здесь: https://stackoverflow.com/questions/796 ... load-event

Вернуться в «Javascript»