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

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

Сообщение Anonymous »

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

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

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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