XMLHttpRequest всегда вызывает прослушиватель событий «load», даже когда ответ имеет статус ошибки

Я использую FormData для ajax загрузки файла. Загрузка работает, но проблема в том, что обратный вызов "error" никогда не вызывается . Даже когда мой HTTP-ответ - это внутренняя ошибка сервера 500 (чтобы проверить это, я настраиваю сервер на ответ 500), вызывается обратный вызов "load".

function upload_image() {
    var form = document.getElementById('upload_image_form');
    var formData = new FormData(form);

    var xhr = new XMLHttpRequest();
    xhr.addEventListener("load", function(e) {
        alert("Success callback");
    }, false);
    xhr.addEventListener("error", function(e) {
        alert("Error callback");
    }, false);
    xhr.open("POST", "/upload_image");
    xhr.send(formData);
}

Есть идеи? Я тестирую это в Chrome.

24
задан Damjan Pavlica 26 May 2016 в 15:32
поделиться