У меня небольшая проблема с пониманием XMLHttpRequest
обработчиков. Спецификация говорит об обработчике onerror
:
error
[Dispatched ... ] Когда запрос не выполнен.
load
[Отправлено ... ] Когда запрос успешно выполнен.
Проблема в том, что значит «запрос не выполнен». Это может быть
Кроме того, я' хотелось бы знать, означает ли это, что onerror
и onload
никогда не должны срабатывать одновременно.
Эта ссылкауказывает, что обработчик onerror
должен выполняться в зависимости от кода status
и onload
в зависимости от readyState
. Это указывало бы на то, что они не являются взаимоисключающими, однако я не думаю, что это авторитетная информация.
Я спрашиваю, потому что, используя последний снимок Opera, я обнаружил, что onload
срабатывает даже при коде состояния 404. Я знаю, что проверка статуса
— это верная ставка, но я хотел бы знать, нужно ли это делать в соответствии со спецификацией, или это просто обходной путь для ошибки в Opera.