我有一個小的jQuery這裏:爲什麼「完成」或「失敗」的jQuery AJAX回調在HTTP 500上執行?
$.ajax({
url: $this.fileUploadUrl,
data: 'url=' + encodeURIComponent(file.name),
type: 'POST',
done: function() {
file.status = plupload.DONE;
$this.updateFileStatus(file);
},
fail: function() {
file.status = plupload.FAILED;
$this.updateFileStatus(file);
}
});
如果服務器返回一個HTTP 500響應,fail
回調不運行,而且也不done
。我甚至嘗試加入always
,這也不起作用。我錯過了什麼?
啊,我看了文檔錯了。我看到「Deprecation Notice:jqXHR.success(),jqXHR.error()和jqXHR.complete()回調將在jQuery 1.8中被棄用,爲了準備好你的代碼的最終刪除,使用jqXHR.done(),jqXHR .fail()和jqXHR.always()來代替。「......他們是否打算廢棄成功並在'ajax'方法中失敗,並鼓勵我們使用jqXHR方法? – 2012-01-11 22:36:38
@JakePetroules他們爲什麼會這樣?這是[半穩定的API和封裝的光輝]。'ajax'函數只需要一個對象就能夠獲得「命名參數」。 – 2012-01-11 22:38:39