我正在使用FormData來ajax文件上傳。上傳工作,但問題是從不調用「錯誤」回調。即使當我的HTTP響應是500內部服務器錯誤(爲了測試這個我調整服務器以500響應),調用「負載」回調。XMLHttpRequest始終調用「加載」事件偵聽器,即使響應有錯誤狀態
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上進行測試。
不錯,這個工程!仍然好奇......但爲什麼不是我在上面的設置中調用過的「錯誤」回調? –
我遇到了Chrome剛剛返回ajax響應的問題,非常奇怪。我得到的是200,但從未完成。 – Joe
@simmbot錯誤回調從不被調用,因爲它只是由網絡級錯誤觸發,它忽略HTTP返回碼。 – Ferdy